B
B
Boris Yakushev2016-04-20 12:05:33
PHP
Boris Yakushev, 2016-04-20 12:05:33

Deleting a string with a regular expression?

Good afternoon.
There is a code that removes everything in the line between the lookback and lookahead checks.

$str = "Lorem Ipsum - это текст-рыба, часто используемый в печати и вэб-дизайне. 
Lorem Ipsum является стандартной рыбой для текстов на латинице с начала XVI века. 
В то время некий безымянный печатник создал большую коллекцию размеров 
и форм шрифтов, используя Lorem Ipsum для распечатки образцов. 
<!--Tbegin-->something.jpg</!--Tbegin-->
Lorem Ipsum не только успешно пережил без заметных изменений пять веков, 
но и перешагнул в электронный дизайн. Его популяризации в новое время послужили 
публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более
недавнее время, программы электронной вёрстки типа Aldus PageMaker, в
шаблонах которых используется Lorem Ipsum.";

preg_filter('/(?<=<!--Tbegin-->).*(?=<\/!--Tbegin-->)/', '', $str);

But how to remove the entire line:
something.jpg!--Tbegin-->

Considering that instead of a lorem there can be any text.
upd: replaced \S with .* on the advice of Alexander Pavlyuk

Answer the question

In order to leave comments, you need to log in

1 answer(s)
O
OVK2015, 2016-04-20
@za4me

$testStr = "Lorem Ipsum - это текст-рыба, часто используемый в печати и вэб-дизайне. 
Lorem Ipsum является стандартной рыбой для текстов на латинице с начала XVI века. 
В то время некий безымянный печатник создал большую коллекцию размеров 
и форм шрифтов, используя Lorem Ipsum для распечатки образцов. 
<!--Tbegin-->something.jpg</!--Tbegin-->
Lorem Ipsum не только успешно пережил без заметных изменений пять веков, 
но и перешагнул в электронный дизайн. Его популяризации в новое время послужили 
публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более
недавнее время, программы электронной вёрстки типа Aldus PageMaker, в
шаблонах которых используется Lorem Ipsum.";
$regExp = "#(?<=<!--Tbegin-->)((?:.*?)(?:</!--Tbegin-->))#si";
echo preg_replace($regExp, "", $testStr);

something.jpg!--Tbegin-->
Or did you hide a piece of code in the question of formatting the toaster?
If the entire substring
is even simpler:
$regExp = "#((?:<!--Tbegin-->)(?:.*?)(?:</!--Tbegin-->))#si";

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question