php Regex Html теги диапазона - PullRequest
0 голосов
/ 18 июня 2020

Мне нужна небольшая помощь, потому что я полностью потерял обзор.

Я преобразовал PDF в формат HTML и теперь хочу заменить в нем слова. Regex до сих пор хорошо поработал, чтобы сохранить существующее форматирование.

Я сделал это просто. Для сокращения l oop используйте массив array_pop (); пока не будет найдено слово, которое нужно заменить, и я потерял как можно меньше тегов.

теперь у меня чертовски проблема, что не все теги span всегда закрыты, и теперь EWERBUN все еще находится в теге span. что может вызвать проблемы с последующим сокращением, пока не будет найдено заменяющее слово.

до сих пор я успешно использовал это регулярное выражение:

// regex
#<span.*?></span>#

// $content
B<span class="fs4 fc2">EWERBUN<span class="_ _0"></span>G A<span class="_ _0"></span>LS JobBe<span class="_ _0"></span>zeich<span class="_ _0"></span>nung<span class="ff1 fs2 fc0"> </span></span> 

// $regex_array
array (size=1)
  0 => 
    array (size=5)
      0 => string '<span class="fs4 fc2">EWERBUN<span class="_ _0"></span>' (length=55)
      1 => string '<span class="_ _0"></span>' (length=26)
      2 => string '<span class="_ _0"></span>' (length=26)
      3 => string '<span class="_ _0"></span>' (length=26)
      4 => string '<span class="ff1 fs2 fc0"> </span></span>' (length=41)

$ сокращение содержимого до тех пор, пока слово не будет найдено.

for( $i = 0; $i < count($regex_array[0]); ++ $i ) {
     $content = preg_replace('#' . $array_pop($regex_array) . '#', '$2', $content);

     if (strpos( $content, 'JobBezeichnung')) {
           preg_replace('#JobBezeichnung#', 'UNIVERSALMONTEUR',  $content);
     }
}

надеюсь понятно, что я ищу. Большое спасибо за любой вклад и любой Regex pro :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...