[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярка, как оставить центральную часть?
inpost
#^(</span>){1}   (<span>){1}$# 

Использую preg_replace. Цель убрать спаны по бокам, при этом если стоят 2 пробела - оставить 2, если 5 - оставить 5. Как это прописать в регулярке?
Зарание спасибо, не знаю как сделять связь между pattern и replacement...



Спустя 2 часа, 43 минуты, 37 секунд (19.11.2010 - 04:09) job-nik написал(а):
Ничего не понял.....
Где входные данные?
Чего ждем на выходе?

Спустя 14 часов, 10 минут, 59 секунд (19.11.2010 - 18:20) inpost написал(а):
$text = '<span>lalalal</span>    <span> lalala</span>';
$pattern = '#(</span>){1}( ){1,}(<span>){1}#';
preg_replace($pattern,' ',$text);

Если я правильно написал, между спамами может быть один или более пробелом, если так делаю, то заменяет на один пробел. А я хочу так, что если между тегами 5 пробелов, то эти теги убрались, и остались между ними лишь пробелы.

Спустя 45 минут, 49 секунд (19.11.2010 - 19:06) Йакуд написал(а):
$text = '<span>lalalal</span>  <span> lalala</span>';
$pattern = '#(\<span\>.*)\<\/span\>(\s*)\<span\>(.*\<\/span>)#i';
$text = preg_replace($pattern,'$1$2$3',$text);
echo "<pre>".htmlspecialchars($text)."</pre>";


Это имел ввиду??

Спустя 3 минуты, 52 секунды (19.11.2010 - 19:10) inpost написал(а):
Такой результат:
$text = '<span>lalalal</span>    <span> lalala</span>'; // был
$text = '<span>lalalal lalala</span>'; // стал

Спасибо за скрипт, пойду разбирать!


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

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