Previous Article

PHP function to find links in a string

Next Article

This handy little function searches a string for urls and converts them into anchor tags. This is particularly useful for tweets pulled from Twitter using the API. This is used to prepare the links in my Twitter feed at the bottom of my site.

function make_links($str) {
    $reg_ex_url = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
    $urls = array();
    $urls_to_replace = array();

    if (preg_match_all($reg_ex_url, $str, $urls)) {
        $numOfMatches = count($urls[0]);
        $url_count = 0;

        for ($i=0; $i<$numOfMatches; $i++) {
            $alreadyAdded = false;
            $url_count = count($urls_to_replace);

            for ($j=0; $j<$url_count; $j++) {
                if ($urls_to_replace[$j] == $urls[0][$i]) {
                    $alreadyAdded = true;

            if (!$alreadyAdded) {
                array_push($urls_to_replace, $urls[0][$i]);

        $url_count = count($urls_to_replace);

        for ($i=0; $i<$url_count; $i++) {
            $str = str_replace($urls_to_replace[$i], &quot;<a _blank="" href="\" target="\">&quot;.$urls_to_replace[$i].&quot;</a> &quot;, $str);

        return $str;
    } else {
        return $str;
Avatar of Clive Walkden

Clive Walkden

Latest Articles


Output All Users Cron Jobs

If you want to check all users cron jobs this little command will output them to the command line

Magento 2

Magento 2 admin password history reset

Do you want to clear the password history on your staging test site (not recommended for live)?


How to see files changed on a certain date

As a sysadmin you often need to see which files have been modified on a certain date.