Ну так же говорят - замените спан на див, по феншую блочные элементы нельзя вставлять в строчные.
По поводу остального, у вас ошибка в микроразметке. Посмотрите к какой сущности относится ratingValue и отмечена ли она у вас.
http://php.net/manual/ru/regexp.reference.delimiters.php
Другой вопрос, что вы тестируйте регулярное выражение где используется flash или javascript, а там в качестве литерального формата (сокращенной формы записи) слеши являются разделителями шаблона - /pattern/.
И? Слеш не является спец символом в regexp, его нужно экранировать только в случае если используется в качестве разделителя шаблона. Нет тут никакой семантики, речь только о использование слеша в разделителе шаблона и все.
Что значит "не проходит"? Что он должен пройти я так и не понял.
Да, там нужен инвертор жадности. Хотя логически должно работать и без него, врядли есть вложенные теги url, а с "без пробельных символов" он много не захватит.
ПС. Понял, тут нет кавычек, а без ковычек с "жадностью" захватит до последней закрывающей квадратной скобки, которой здесь является тег img.
Это что вообще такое?
Решается это обычным колбэком кой пример есть выше.
[mysite1\.com] - ни разу не правильней.
Тогда придется юзать callback, один регулряным выражением заменой по условию не составить.
Все там работает. Главное что понимать по "не работает". ---------- Добавлено 31.01.2015 в 16:58 ----------
$allow = array('mysite2.org.ru', 'mysite1.com'); $str = preg_replace_callback('#\?https?://(?:www\.)?([^/\]]+)\S*[\"\']?\](.*?)\[/url\]#', function($m) use($allow){ if(in_array($m[1], $allow)){ return $m[0]; } return $m[2]; }, $str);
Можно и так, только в анкоре могут быть и пробельные символы.
$allow = array('mysite2.org.ru', 'mysite1.com'); $allow = str_replace('.', '\.', implode('|', $allow)); $str = preg_replace('#\?https?://(?!(www\.)?('.$allow.'))\S*[\"\']?\](.*?)\[/url\]#', '', $str);
Это поисковой сервис?
Можно, пока живет АПИ другого сайта, почему нет.
Где нормальный шаблон текста? Мы должны гадать что теги url и картинок у вас там в тексте?
'#\(.*?)\[/url\]#'
Кириллица? Файл сохранить в utf-8 или писать редиект на RewriteRule