replacing www... with hyperlink

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • monomaniac21

    replacing www... with hyperlink

    hi all i want to replace all entries of beginning with 'www.' and
    ending with ' ' with a hyperlink to that substring such as:

    www.google.com := <a href="www.googl e.com">www.goog le.com</>

    can anyone tell me the easiest way to do this?

    regards

    marc

  • Ciaran

    #2
    Re: replacing www... with hyperlink

    monomaniac21 wrote:
    hi all i want to replace all entries of beginning with 'www.' and
    ending with ' ' with a hyperlink to that substring such as:
    >
    www.google.com := <a href="www.googl e.com">www.goog le.com</>
    >
    can anyone tell me the easiest way to do this?
    You'll want to put an 'http://' in the href attribute, too.

    The best way to do this is to use preg_replace, see the manual at
    http://php.net/preg_replace.

    -Ciaran

    Comment

    • monomaniac21

      #3
      Re: replacing www... with hyperlink

      well i figured out my own way of doing this cos the problem kept
      bugging me and ive added her for anyone else who is interested. if
      anyone else knows of a more efficient way id love to hear it. im not
      sure but i think exploading a string then searching each array value
      might be bettered by a function that just performed a search and
      replace on the string.

      $para1 = "sdfsdf dsf dsfsd www.dsafads.com ";
      $para1_arr = explode(' ',$para1);
      $i = 0;
      foreach ($para1_arr as $value) {
      $newarr[$i] = $value;
      if (strstr($value, 'www.') != FALSE) {
      $value = "<a href='http://$value'>$value</a>";
      $newarr[$i] = $value;
      }
      $i = $i + 1;
      }
      $para1 = implode(' ', $para1);




      Ciaran wrote:
      monomaniac21 wrote:
      hi all i want to replace all entries of beginning with 'www.' and
      ending with ' ' with a hyperlink to that substring such as:

      www.google.com := <a href="www.googl e.com">www.goog le.com</>

      can anyone tell me the easiest way to do this?
      >
      You'll want to put an 'http://' in the href attribute, too.
      >
      The best way to do this is to use preg_replace, see the manual at
      http://php.net/preg_replace.
      >
      -Ciaran

      Comment

      • monomaniac21

        #4
        Re: replacing www... with hyperlink

        $para1 = implode(' ', $para1);
        should be : $para1 = implode(' ', $newarr);

        oops!

        Comment

        • Miguel Cruz

          #5
          Re: replacing www... with hyperlink

          "monomaniac 21" <mcyi2mr3@googl email.comwrote:
          well i figured out my own way of doing this cos the problem kept
          bugging me and ive added her for anyone else who is interested. if
          anyone else knows of a more efficient way id love to hear it. im not
          sure but i think exploading a string then searching each array value
          might be bettered by a function that just performed a search and
          replace on the string.
          >
          $para1 = "sdfsdf dsf dsfsd www.dsafads.com ";
          $para1_arr = explode(' ',$para1);
          $i = 0;
          foreach ($para1_arr as $value) {
          $newarr[$i] = $value;
          if (strstr($value, 'www.') != FALSE) {
          $value = "<a href='http://$value'>$value</a>";
          $newarr[$i] = $value;
          }
          $i = $i + 1;
          }
          $para1 = implode(' ', $para1);
          How will that work with mail.yahoo.com or groups.google.c om ?

          miguel
          --
          Photos from 40 countries on 5 continents: http://travel.u.nu
          Latest photos: Malaysia; Thailand; Singapore; Spain; Morocco
          Airports of the world: http://airport.u.nu

          Comment

          • Rik

            #6
            Re: replacing www... with hyperlink

            Miguel Cruz wrote:
            "monomaniac 21" <mcyi2mr3@googl email.comwrote:
            >well i figured out my own way of doing this cos the problem kept
            >bugging me and ive added her for anyone else who is interested. if
            >anyone else knows of a more efficient way id love to hear it. im not
            >sure but i think exploading a string then searching each array value
            >might be bettered by a function that just performed a search and
            >replace on the string.
            >>
            >$para1 = "sdfsdf dsf dsfsd www.dsafads.com ";
            >$para1_arr = explode(' ',$para1);
            >$i = 0;
            >foreach ($para1_arr as $value) {
            >$newarr[$i] = $value;
            >if (strstr($value, 'www.') != FALSE) {
            >$value = "<a href='http://$value'>$value</a>";
            >$newarr[$i] = $value;
            >}
            >$i = $i + 1;
            >}
            >$para1 = implode(' ', $para1);
            >
            How will that work with mail.yahoo.com or groups.google.c om ?
            Not, but as the OP stated: he only wants links beginning with www.
            Personally, I'd check for '|[a-z]+://|', which will find protocols, and
            maybe put an extra check in for words starting with 'www.'.

            Grtz,
            --
            Rik Wasmus


            Comment

            Working...