On 12/11/06, Chris <dmagick@xxxxxxxxx> wrote:
Dotan Cohen wrote: > I need to replace text enclosed in brackets with links. How can I get > that text, though? I've tried numerous variations of the following, > with no success: > $articleText=preg_replace('/\[[a-z]]/i' , makeLink($1), $articleText); > > I cannot get the text between the brackets send to the makeLink > function. Could someone push me in the right direction? An example of > the text would be: > $articleText="Ajax is an acronym of Asynchronous [JavaScript] and [XML]"; > > Where I'd like the strings "JavaScript" and "XML" sent to the makeLink > function. Thanks in advance. Don't know if this is your problem but you need to escape the trailing ] as well: preg_replace('/\[[a-z]\]/i', .....
Thanks, but that wasn't quite it, either. This code: <?php function makeLink($title) { $returnString="<b>$title</b>"; return $returnString; } $articleText="This is a very [long] string."; $articleText=preg_replace('/\[[a-z]\]/i' , makeLink($1), $articleText); print $articleText; ?> produces this error: Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /home/user/public_html/testpage.php on line 9 I'm sorry that I didn't include the error message in my original email. Also, I got the same error with and without the last closing bracket escaped. Dotan Cohen http://simplesniff.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php