Re: Removing link on the fly, but leave link text

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2010-08-31 at 15:01 -0500, Karl DeSaulniers wrote:

> On Aug 31, 2010, at 2:32 PM, Ashley Sheridan wrote:
> 
> > On Tue, 2010-08-31 at 14:31 -0500, Karl DeSaulniers wrote:
> >>
> >> Hi,
> >> Say I have some text.
> >>
> >> $text = 'You can logon here: <a href="http://website.com/shop/
> >> index.php?username='.$username.'">http://website.com/shop/index.php?
> >> username='.$username.'</a>. This link will take you to your web
> >> browser to login.'.$eol;
> >>
> >> I want to be able to strip the "<a href="http://website.com/shop/
> >> index.php?username='.$username.'">" and </a>.
> >> Leaving just the http://website.com/shop/index.php?username='.
> >> $username.' text, so it would end up like.
> >>
> >>
> >> $text = 'You can logon here: http://website.com/shop/index.php?
> >> username='.$username.'. This link will take you to your web browser
> >> to login.'.$eol;
> >>
> >> I have tried MANY different ways and have no success.
> >> Can anyone help me?
> >> TIA
> >>
> >>
> >> Karl DeSaulniers
> >> Design Drumm
> >> http://designdrumm.com
> >>
> >
> > strip_tags() will do the job here.
> >
> > Thanks,
> > Ash
> > http://www.ashleysheridan.co.uk
> >
> 
> 
> Hi Ash,
> I tried that, but it did not work.
> I do not want it to strip all tags, just the <a href=""></a>. so if  
> there was a <p> or <br />. I don't want those removed.
> There is more text than just what I posted.
> 
> This is what I am trying currently.
> This is someones code from a forum that I am trying to adopt.
> 
> //CODE start
> function strip_only($str, $tags) { // Thanks Steve
>      if(!is_array($tags)) {
>          $tags = (strpos($str, '>') !== false ? explode('>',  
> str_replace('<', '', $tags)) : array($tags));
>          if(end($tags) == '') array_pop($tags);
>      }
>      foreach($tags as $tag) $str = preg_replace('#</?'.$tag.'[^>] 
> *>#is', '', $str);
>      return $str;
> }
> 
> $str = '<p style="text-align:center">Paragraph</p><strong>Bold</ 
> strong><br/><span style="color:red">Red</span><h1>Header</h1>';
> 
> echo strip_only($str, array('p', 'h1'));
> echo strip_only($str, '<p><h1>');
> 
> //CODE end
> 
> I was using it like so.
> 
> $text = strip_only($text, array('a'));
> or
> $text = strip_only($text, '<a>');
> 
> But got my results back like:
> 'You can logon here: href="http://website.com/shop/
> index.php?username='.$username.'">http://website.com/shop/index.php?
> username='.$username.'. This link will take you to your web
> browser to login.'.$eol;
> uugh..
> 
> Karl DeSaulniers
> Design Drumm
> http://designdrumm.com
> 


Look at the second argument to strip_tags() which allows you to specify
a list of allowable tags. It will do what you want, you just need to
look at the manual.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux