Hi M, Thanks for your help, the code works fine except if there is a line break in the html, for example this works <p>test</p> But this doesnt <p>test </p> Any ideas? "M" <lists@xxxxxxxxxxxxxx> wrote in message news:438EAD90.1040601@xxxxxxxxxxxxxxxxx > The second parameter to preg_replace is the replacement string (with > optional backreferences), not another patern. > > Use '/<p\>(.*)(?=<\/p>)/' for patern, '<a > href="edit_paragraph&text=$1"><p>$1' for replacement string, however, this > does not urlencode the text parameter. You can use preg_replace_callback > instead of preg_replace to encode it in the callback function. > > This won't work for long paragraphs because the lenght of GET request is > limited. Change it to use forms instead. > > Shaun wrote: >> Hi, >> >> I am trying to read the contents of a file into a string and wrap an <a >> href=""> tag around every <p> tag and output it to the browser. This is >> how far I have got: >> >> // Get file contents >> $file_contents = file_get_contents($file); >> // Replace <p> tags >> $file_contents = preg_replace('/^<p\>[a-z][0-9]<\/p>$/', '/^<a >> href="edit_paragraph&text="">\<p>[a-z][0-9]<\/p><\/a>$/', >> $file_contents); >> // Output to browser >> echo $file_contents; >> >> I have two problems. >> >> 1. - The regex doesn't work! >> 2. - I need to add the <p> tags and all contents to the link >> >> Here is an example >> >> <html> >> <body> >> <p>Here is a paragraph</p> >> <p>Here is another paragraph</p> >> </body> >> </html> >> >> would become >> >> <html> >> <body> >> <a href="edit_paragraph&text="<p>Here is a paragraph</p>"><p>Here is a >> paragraph</p></a> >> <a href="edit_paragraph&text="<p>Here is another paragraph</p>"><p>Here >> is another paragraph</p></a> >> </body> >> </html> >> >> Any advice would be greatly appreciated -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php