|
|
|
| Никак не могу сделать замену кода [img] в тексте. Нужно чтобы например [img]http://site.ru/image.jpg[/img] заменялось на <img src="http://site.ru/image.jpg">, для всех найденных в тексте адресов изображений. Подскажите пожалуйста кто знает. | |
|
|
|
|
|
|
|
для: ALEXIT
(13.11.2007 в 17:35)
| | Можно воспользоваться следующим решением
<?php
$text = 'Нужно чтобы например [img]http://site.ru/image.jpg[/img] заменялось на';
$pattern = '|\[img\](.*?)\[/img\]|is';
$replacement = '<img src="\\1">';
$text = preg_replace($pattern, $replacement, $text);
echo $text;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.11.2007 в 17:58)
| | Спасибо, cheops! | |
|
|
|
|
|
|
|
для: ALEXIT
(14.11.2007 в 16:11)
| | У меня не правильно обрабатывает такой форагмент:
[color=orange]1.[/color] Первый пункт;
[color=orange]2.[/color] Второй пункт;
[color=orange]3.[/color] Третий пункт;
[color=orange]4.[/color] Четвертый пункт;
|
такое регулярное выражение:
$text = preg_replace("#\[color[\s]*=[\s]*(\#[0-9A-F]{6}|[a-z\-]+)[\s]*\][\s]*(.*?)\[/color\]#isU",'<span style="color:\\1; line-height:normal">\\2</span>',$text);
|
Что исправить? | |
|
|
|
|
|
|
|
для: FireTiger
(18.11.2007 в 11:41)
| | ....[\s]*(.*?)\[/co.... - попробуйте убрать здесь "?" | |
|
|
|
|
|
|
|
для: kasmanaft
(18.11.2007 в 12:20)
| | Все правильно!!! Спасибо! А почему все-таки не действовало? На что здесь влиял знак вопроса? | |
|
|
|
|
|
|
|
для: FireTiger
(18.11.2007 в 18:00)
| | Знак вопроса изменяет жадность (как там по-умному...) квантификатора, после которого стоит. Т.е. по идее .*? должно стать не жадным - захватить как можно меньше символов. НО, т.к. в то же время использовался модификатор U, который так же изменяет жадность, то в итоге это выражение стало жадным - захватывало как можно больше символов. Вот и зохавало весь текст ;)
В принципе можно было убрать "U" - в данном случае бы тоже сработало. | |
|
|
|
|
|
|
|
для: kasmanaft
(18.11.2007 в 20:03)
| | Все понял, спасибо еще раз! | |
|
|
|