[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: регулярки, "или"
Guest
$text=preg_replace("/(href|src)/i","(x|y)");
смысл в том, что возможно ли в одно действие написать, что если href, то заменяем на x, если же src то на y?



Спустя 3 часа, 9 минут, 39 секунд (15.08.2010 - 22:58) Guest написал(а):
для этого регулярки не нужны

Спустя 10 часов, 56 минут, 18 секунд (16.08.2010 - 09:54) Guest написал(а):
Guest а для этого

$text=preg_replace("/(href|src)\=\"/i","(x|y)=\"");

Спустя 7 минут, 59 секунд (16.08.2010 - 10:02) DedMorozzz написал(а):
никак. Пиши 2 регулярки. Так иль иначе они даже работать будут быстрее. Хотя можно сделать конструкцию из 1й регулярки, но это будет долгим решением, чем 2 простые регулярки.

Спустя 8 минут, 13 секунд (16.08.2010 - 10:10) DedMorozzz написал(а):
Но если это спортивного интереса ради, то выглядеть сие будет вот так:
$text = 'as src da href href asdada src'; 
$text = preg_replace_callback('#(href|src)#', create_function('$matches','
foreach ($matches as $val){
if($val=="href") return "ZZZ";
else return "FFF";
}
'
),$text);
echo $text;//as FFF da ZZZ ZZZ asdada FFF

Спустя 2 часа, 28 минут, 15 секунд (16.08.2010 - 12:38) Rand написал(а):
DedMorozzz, а два str_replace будет медленнее что-ли?
$text=str_replace('href', 'x', $text);
$text=str_replace('src', 'y', $text);

Ну или один str_replace, если значения в массивы запихнуть?

Спустя 16 минут, 15 секунд (16.08.2010 - 12:55) DedMorozzz написал(а):
Быстрее wink.gif Но если всё заданно в явном виде. Да и то, разница "скорости" будет настолько не заметна в данном случае. Ибо то что регулярки медленные это полу-миф. В ЭТОМ примере скорость будет, практически, идентична.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.