2016-06-26 2 views
-2

У меня есть строка, например:PHP - С помощью preg_replace() только определенная часть строки

-Website URL***Image URL 

Я хочу использовать preg_replace() заменить ***Image URL с пустой строкой, выглядят как строки здесь:

-Website URL 

У меня всегда была проблема с preg_replace().

Пожалуйста, помогите! Спасибо!!!!

+0

Хотите получить подстроку, прежде чем 3 звезды? – splash58

+0

@ splash58 Да, я делаю – Cool

+0

'list ($ res,) = explode ('***', '-Website URL *** Image URL', 2); echo $ res; ' – splash58

ответ

1

Возьмите все после того, как минус в строке начала и до звезд 3

$res = preg_replace('/^-?(.+)\*{3}.+$/', '\1', '-Website URL***Image URL'); 
echo $res; 
+0

Можете ли вы мне помочь, что использовать предыдущую строку preg_replace? Средство заменяет -Website URL *** пустой строкой и отображает только строку URL-адреса изображения. Спасибо – Cool

+0

'$ res = preg_replace ('/^.+\* {3} /', '', '-Website URL *** URL-адрес изображения');' – splash58

+0

Ошибка? Я не могу использовать ваш код – Cool

0

Регулярное выражение для поиска 3 * сек, то все остальное (за исключением новых линий) будет:

/\*{3}.*/ 

Regex Демо: https://regex101.com/r/nX9dC7/1

В * потребности быть экранированы, потому что это в регулярном выражении quantifier в противном случае. {} допускает заданное число (или диапазон) предыдущего символа/группы. . - любой символ (исключая новую строку), а * означает ноль или более вхождений предыдущего символа/группы.

PHP Использование:

echo preg_replace('/\*{3}.*/', '', '-Website URL***Image URL'); 

PHP Демо: https://eval.in/595726

+0

Спасибо. Вы можете мне помочь? Это символ замены (-) перед URL-адресом веб-сайта пустой строкой? – Cool

+0

Что вы подразумеваете под «заменой символа»? – chris85

Смежные вопросы