Re: Re: How to recognise url in a block of text

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

 




FTP your files up there again, but use TEXT instead of BINARY or vice
versa?

On Wed, October 18, 2006 3:55 pm, AYSERVE.NET wrote:
> Hello Guys,
> I thought I was home and dry when the program worked fine on my
> windows
> but when I ran from my Linus server, I keep getting a url like:
> http://www.website.com/pdf/ED1.pdf%A0 instead of
> http://www.website.com/pdf/ED1.pdf.
>
> As a result, the link is not working. Please help.
>
> Regards,
> Bunmi
> www.ayserve.net
> www.budelak.com
>
> AYSERVE.NET wrote:
>> Hello Robin,
>> I love you man. The solution you gave below just worked perfectly
>> fine.
>> Thanks to all who assisted me on this. I appreciate you all.
>> Regards,
>> Bunmi
>> www.ayserve.net
>> www.budelak.com
>>
>> Robin Vickery wrote:
>>> On 17/10/06, Al <news@xxxxxxxxxxxxx> wrote:
>>>> AYSERVE.NET wrote:
>>>> > Please, I need help on how to to recognise url in a block of
>>>> text
>>>> being
>>>> > retrieved from a database and present it as a link within that
>>>> text.
>>>> >
>>>> > I will appreciate any help.
>>>> > Regards,
>>>> > Bunmi
>>>> Show us some examples of URL substrings, with any variations, you
>>>> want to handle.
>>>>
>>>> Most likely a regex function will do the job.
>>>
>>> In 6 easy steps:
>>>
>>> Step 1: Pinch  a regexp from perl...
>>>
>>>  perl -e 'use Regexp::Common; print $RE{URI}{HTTP}, "\n";'
>>>
>>> Step 2: Double up all backslashes
>>>
>>>  M-x replace-string \ \\
>>>
>>> Step 3: Escape single quote-marks
>>>
>>>  M-x replace-string ' \'
>>>
>>> Step 4. modify slightly to cope with the https scheme by adding an
>>> optional 's' to the http scheme.
>>>
>>> Step 5. add angle-brackets as delimiters
>>>
>>> Step 6. use in a preg_replace()
>>>
>>> <?php
>>>
>>> $textString = 'orem ipsum dolor sit amet, consectetuer adipiscing
>>> elit. Proin et urna. Duis quam. Suspendisse potenti. Etiam sem
>>> tortor,
>>> ultricies nec,  http://example.com  imperdiet nec, tempus ac,
>>> purus.
>>> Suspendisse id lectus. Nam vitae quam. Aliquam ligula nisl,
>>> vestibulum
>>> vulputate, tempor nec, https://www.example.com  tincidunt sit amet,
>>> libero. Suspendisse a justo. Cum sociis natoque penatibus et.';
>>>
>>> $url_regexp =
>>> '<(?:(?:https?)://(?:(?:(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9]|[a-zA-Z])[.]?)|(?:[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+)))(?::(?:(?:[0-9]*)))?(?:/(?:(?:(?:(?:(?:(?:[a-zA-Z0-9\\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*)(?:/(?:(?:(?:[a-zA-Z0-9\\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)(?:;(?:(?:[a-zA-Z0-9\\-_.!~*\'():@&=+$,]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*))*))*))(?:[?](?:(?:(?:[;/?:@&=+$,a-zA-Z0-9\\-_.!~*\'()]+|(?:%[a-fA-F0-9][a-fA-F0-9]))*)))?))?)>';
>>>
>>>
>>> $output = preg_replace($url_regexp, '<a href="$0">$0</a>',
>>> $textString);
>>>
>>> print $output;
>>> ?>
>>>
>>> If http and https isn't enough for you, there's another more
>>> general
>>> regexp but... well, it's 8.5Kb long.
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[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