#php #preg-replace
#php #preg-replace
Вопрос:
Мне нужна помощь с preg_replace. На моем веб-сайте мне нужно удалить некоторые вещи, которые мне не нужны.
Вот пример:
Хорошо, все, что мне нужно из этой строки: текст внутри caption="THIS TEXT"
,
все остальное, что мне нужно удалить, я использовал Google и попробовал несколько примеров, но ничего.
Возможно, мне нужно использовать другую функцию, но из того, что я прочитал в Интернете, это должно заменить.
Пожалуйста, помогите мне, это очень важно.
Спасибо.
Редактировать:
В коде есть некоторые другие вещи, которые я забыл.
<a href="http://localhost/111baneease1.jpg">
<img class="size-full wp-image-100951" title="zjarr_banese1" src="http://localhost/111baneease1.jpg" alt="eeeeeeeeeeeeeeeee" width="448" height="308" />
</a>
[/caption]
Поэтому мне нужно получить текст ЗАГОЛОВКА и удалить все в
[идентификатор заголовка =»attachment_100951″ align=»alignleft» width =»448″ заголовок = «eaaaaaaaaaaaaaaaaaa»]
но не
<a href="http://localhost/111baneease1.jpg">
<img class="size-full wp-image-100951" title="zjarr_banese1" src="http://localhost/111baneease1.jpg" alt="eeeeeeeeeeeeeeeee" width="448" height="308" />
</a>
также хочу удалить [/ caption]
тоже.
Ответ №1:
Это регулярное выражение :
$result = preg_replace('/[captions .*?captions*=(["'])(.*?)1.*?/', '$2', $subject);
выведет :
THIS IS WHAT I NEED
при применении к :
Обновленный ответ на основе вашего обновленного вопроса :
$result = preg_replace('%[captions .*?captions*=(["'])(.*?)1s*](.*?)[/caption]%s', '$2n$3', $subject);
Приведенное выше регулярное выражение применяется к :
<a href="http://localhost/111baneease1.jpg">
<img class="size-full wp-image-100951" title="zjarr_banese1" src="http://localhost/111baneease1.jpg" alt="eeeeeeeeeeeeeeeee" width="448" height="308" />
</a>
[/caption]
Выведет :
eaaaaaaaaaaaaaaaaaa
<a href="http://localhost/111baneease1.jpg">
<img class="size-full wp-image-100951" title="zjarr_banese1" src="http://localhost/111baneease1.jpg" alt="eeeeeeeeeeeeeeeee" width="448" height="308" />
</a>
Я не уверен, что это именно то, что вы хотели. Конечно, вы можете использовать регулярное выражение для сопоставления и делать все, что хотите, с группами $ 2 и $ 3…
Комментарии:
1. я бы изменил финал
.*
на.*?
, чтобы он мог соответствовать нескольким экземплярам в более крупном документе