0

I am new to Regular expressions and I came across this piece of code in Wordpress but I have failed to understand what's going on, despite the comments. Kindly help me figure it out.

    // catch base url
    preg_match('/href="(.+?)"/i', $content, $matches);
    $baseref = (is_array($matches) && !empty($matches)) ? $matches[1] : '';

    // get the first image from content
    preg_match('/<img.+?src="(.+?)"[^}]+>/i', $content, $matches);

    $img_url = (is_array($matches) && !empty($matches)) ? $matches[1] : '';

Here's what $content contains.

    <![CDATA[<p>Buganda Road Chief Magistrate James Mawanda Eremye has released Makerere University administrator Edward Kisuze. The suspended administrator is accused of  sexually harassing a student. Court told Kisuzze to pay cash bail of Shs2m and each of his three sureties Shs10m.</p>

    <p><a href="http://matookerepublic.com/wp-content/uploads/2018/04/kisuze.png"><img class="alignnone wp-image-32386" src="http://matookerepublic.com/wp-content/uploads/2018/04/kisuze-300x175.png" alt="" width="680" height="396" srcset="http://matookerepublic.com/wp-content/uploads/2018/04/kisuze-300x175.png 300w, http://matookerepublic.com/wp-content/uploads/2018/04/kisuze-696x405.png 696w, http://matookerepublic.com/wp-content/uploads/2018/04/kisuze.png 720w" sizes="(max-width: 680px) 100vw, 680px" /></a></p>

    <p>However, before releasing him the magistrate ordered the prosecutor to disclose to the defence  the evidence to enable commencement of hearing of this case come <span data-term="goog_350196878">May 28 2018</span>.</p>

<p>On April 14, police arrested Kisuze after a viral picture of him kissing the student&#8217;s private parts in office was released online. On May 4<sup>,</sup> he appeared before court and was remanded to Luzira prison after pleading not guilty to charges.</p>
]]>

1 Answers1

0

The first one /href="(.+?)"/i is used to extract the href property from an a tag.

Check out the live example: https://regex101.com/r/84dhEk/2 (the green part is the matching one)

The second one /<img.+?src="(.+?)"[^}]+>/i is used to extract the src property from a img tag.

Check out this example: https://regex101.com/r/SOPN5I/2

Orlandster
  • 3,837
  • 2
  • 22
  • 42