2017-02-19 10 views
2

У меня есть эта строка:Как удалить текст в текст из строки в php?

$body = '<a href="/title/tt2034800/?ref_=inth_ov_tt"> The Great Wall</a>'; 

И я хочу, чтобы удалить:

?ref_=inth_ov_tt 

От $ тела.

Я проверить этот код и не работает:

$body = preg_replace('#ref_=(.*?)"#is', '', $body); 
+0

Регулярное выражение отлично работает для меня. Просто добавьте '?', Чтобы удалить именно то, что вы хотите удалить. – Rizier123

ответ

2

Измените свой шаблон регулярного выражения на следующее:

$body = '<a href="/title/tt2034800/?ref_=inth_ov_tt"> The Great Wall</a>'; 
$body = preg_replace('#\?ref_=([^"]+)(?=")#i', '', $body); 

print_r($body); 

Выход (в виде исходного кода):

<a href="/title/tt2034800/"> The Great Wall</a> 
+0

Спасибо. Работал хорошо. –

+0

@ HamedAp, добро пожаловать – RomanPerekhrest