Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I have the following problem and I am not really good in regular expressions, so please, could somebody help me out?

<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>

I need to replace the plain text string after the image tag inside of each anchor tag. The string is always a number from 0 - 99. The IDs of the anchor tags are auto generated and the title attribute, too. I don't know how to reach only the number on all tags. I need to replace it with an empty string ''. Could somebody help me and explain how I can do that??

Thank you very very much!!

share|improve this question

3 Answers 3

Try

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

This will replace the image tag + text after the image tag with only the image tag.

share|improve this answer

you can replace />[0-9]{,2}< with /><

test with sed:

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

output:

<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>
share|improve this answer
preg_replace('|>[0-9]{1,2}<|','><',$html);
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.