Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
19.03.2010 11:33

Olegus t.Gl.
Участник (+1073, -250)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2905
Вебсайт

Регулярные выражения в QSP: Советы и решения

Регулярные выражения меня пугают, их знатоков (вместе с уверенными пользователями факсов) я считаю инопланетянами, но воспользоваться возможностями, предоставляемыми этой тарабарщиной, хотелось бы, поэтому давайте здесь перечень рецептов для QSP разместим, а?

Неактивен

0    0    #2
19.03.2010 12:42

HzD_Byte
Модератор (+5, -2)
Откуда: Далеко
Зарегистрирован: 15.04.2006
Сообщений: 295
Вебсайт

https://qsp.org

Re: Регулярные выражения в QSP: Советы и решения

Создаем локацию-функцию "del links", на ней такой код:

Код:

$regex='<a[^>]+href="[^"]+"[^>]*>(.*?)</a>'
:loop
pos = strpos($args, $regex)
if pos:
    $args = mid($args, 1, pos - 1) + _
        strfind($args, $regex, 1) + _
        mid($args, pos + len($strfind($args, $regex)))

    jump 'loop'
end
$result=$args

Пример вызова функции:

Код:

$test='TEST<a href="fff"><b>LINK</b></a>TEST<a href="4332">LINK</a>TEST'
func('del links',$test)

Отредактировано HzD_Byte (19.03.2010 12:43)

Неактивен

0    0    #3
19.03.2010 16:41

HzD_Byte
Модератор (+5, -2)
Откуда: Далеко
Зарегистрирован: 15.04.2006
Сообщений: 295
Вебсайт

https://qsp.org

Re: Регулярные выражения в QSP: Советы и решения

В том варианте результат будет выведен в описание.

Конечно же, можно присвоить переменной - в общем, можно вызывать везде, где оно может быть частью вычисляемого выражения.

Например, из текста:

Код:

'пример <<func("del links",$test)>> текста'

Неактивен

Powered by PunBB
© copyright 2001–2026 iFiction.Ru