On Aug 31, 2010, at 3:06 PM, Ashley Sheridan wrote:
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
Hey Ash,
I did as you suggested and still got the same results.
Results:
'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;
Could it be because there is a "?" in the string or the php variable?
Karl DeSaulniers
Design Drumm
http://designdrumm.com