PHP: preg_replace() — необходимо заменить строку textNode

У меня есть следующая проблема, и я не очень хорошо разбираюсь в регулярных выражениях, поэтому, пожалуйста, кто-нибудь может мне помочь?

<div class="bulletPoints">
    <div>
        <a href="#autoGeneratedId0" title="test_f01"><img src="../images/test_f01.jpg" alt="test_f01"/>1</a>
        <a href="#autoGeneratedId1" title="test_f02"><img src="../images/test_f02.jpg" alt="test_f02"/>2</a>
        <a href="#autoGeneratedId2" title="test_f03"><img src="../images/test_f03.jpg" alt="test_f03"/>3</a>
        <a href="#autoGeneratedId3" title="test_f04"><img src="../images/test_f04.jpg" alt="test_f04"/>4</a>
        <a href="#autoGeneratedId4" title="test_f05"><img src="../images/test_f05.jpg" alt="test_f05"/>5</a>
        <a href="#autoGeneratedId5" title="test_f06"><img src="../images/test_f06.jpg" alt="test_f06"/>6</a>
        <a href="#autoGeneratedId6" title="test_f07"><img src="../images/test_f07.jpg" alt="test_f07"/>7</a>
        <a href="#autoGeneratedId7" title="test_f08"><img src="../images/test_f08.jpg" alt="test_f08"/>8</a>
        <a href="#autoGeneratedId8" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/>9</a>
        <a href="#autoGeneratedId9" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/>10</a>
        <a href="#autoGeneratedId10" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/>11</a>
        <!-- and so on -->
    </div>
</div>

Мне нужно заменить простую текстовую строку после тега изображения внутри каждого тега привязки. Строка всегда представляет собой число от 0 до 99. Идентификаторы тегов привязки генерируются автоматически, как и атрибут title. Я не знаю, как достичь только числа по всем тегам. Мне нужно заменить его пустой строкой ''. Может ли кто-нибудь помочь мне и объяснить, как я могу это сделать ??

Огромное спасибо!!


person headacheCoder    schedule 18.10.2011    source источник


Ответы (2)


Пытаться

preg_replace('/(<img[^>]+>)(\d+)/', "\\1", $text);

Это заменит тег изображения + текст после тега изображения только тегом изображения.

person chiborg    schedule 18.10.2011

вы можете заменить />[0-9]{,2}< на /><

тест с sed:

echo 'yourtext'|sed -r 's#/>[0-9]{,2}<#/><#g'

выход:

<div class="bulletPoints">
    <div>
        <a href="#autoGeneratedId0" title="test_f01"><img src="../images/test_f01.jpg" alt="test_f01"/></a>
        <a href="#autoGeneratedId1" title="test_f02"><img src="../images/test_f02.jpg" alt="test_f02"/></a>
        <a href="#autoGeneratedId2" title="test_f03"><img src="../images/test_f03.jpg" alt="test_f03"/></a>
        <a href="#autoGeneratedId3" title="test_f04"><img src="../images/test_f04.jpg" alt="test_f04"/></a>
        <a href="#autoGeneratedId4" title="test_f05"><img src="../images/test_f05.jpg" alt="test_f05"/></a>
        <a href="#autoGeneratedId5" title="test_f06"><img src="../images/test_f06.jpg" alt="test_f06"/></a>
        <a href="#autoGeneratedId6" title="test_f07"><img src="../images/test_f07.jpg" alt="test_f07"/></a>
        <a href="#autoGeneratedId7" title="test_f08"><img src="../images/test_f08.jpg" alt="test_f08"/></a>
        <a href="#autoGeneratedId8" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/></a>
        <a href="#autoGeneratedId9" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/></a>
        <a href="#autoGeneratedId10" title="test_f09"><img src="../images/test_f09.jpg" alt="test_f09"/></a>
        <!-- and so on -->
    </div>
</div>
person Kent    schedule 18.10.2011