Re: Count and Preg_Replace Using Version 4.4.1
| From: | Al | Date: | Mon, 05 Dec 2005 14:19:02 +0000 |
| Subject: | Re: Count and Preg_Replace Using Version 4.4.1 | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-226869@lists.php.net to get a copy of this message | ||
Shaun wrote:
Hi,
The following code matches all occurences of <p> tags within an html page and wraps form tags around it:
echo preg_replace(
'/<p[^>]*>(.*?)<\/p>/ms',
'<form name="form" target="_parent" action="'.$CFG->edit_pages_adm.'/index.php?action=edit_paragraph" method="post">
<input type="hidden" name="text" value="$1">
<p><a href="javascript:;" onclick="document.form.submit();">$1</a></p>
</form>',
file_get_contents($CFG->frontenddir_editable.'/'.$file) );
Unfortunately if there is more than one match the form won't submit because the forms have the same name. Does anyone know how can I modify this so that each occurence is numbered sequentially i.e.
form'.$count.'...
As I am using version 4.4.1 I don't have access to the count paramter in version 5.1.
Thanks for your advice
Each of your html input elements must have a different name, otherwise the php code will only see the last one.
Consider a simple foreach loop to generate your html input elements, e.g.,
$report= ""; $i= 0;
foreach($array as $key=> $value){
$report .= "<p><input type=\"text\" name=\"input$i\" value=\"\"></P>";
other stuff as needed
$i++;
}//end
echo $report;
I'm not sure I see why you need the JAVA script. Seems like you can let the user poke in everything and then provide a submit button to post everything.
Your $_POST will contain all the results. e.g.,
$value1= $_POST['input1'];
$value2= $_POST['input2'];
etc.
Another simple foreach loop can be used to extract the input values.