Con motivo de que he desactivado el RegisterGlobals de mi PHP, pues tengo un cuestionario en el que tengo que cambiar el nombre de algunas variables... podría hacerlo a mano, pero digamos que es extenso, y además esta era una estupenda oportunidad para practicar las expresiones regulares :)
Lo primero es que no estoy seguro de cómo se representa un guión bajo. Las variables tienen nombres:
de $question_1 a $question_10
de $question_11_1 a $question_11_5
y de $question_12_1 a $question_12_5
Obviamente, hay que transformarlos en $_POST['question_x'] o bien $_POST['question_xx_x]' según corresponda.
Además, tener en cuenta condiciones como que el nombre de la variable puede ir pegado a cosas como un paréntesis de cerrar -)-, un punto -.- o un espacio.
Yo había pensado en algo como esto:
Código:
cat form.php | sed -e 's/\$question_\([0-9]*[(_[0-9]|[^_])][^(\.|\)| )]\)/\$_POST['question_\1']/g' > form.php.1
Además de no saber lo del guión bajo -_-, otro problema que tengo es que agrupamos un grupo con \( \) pero es que quiero que no esté seguido de un paréntesis, por lo que ya estoy poniendo un \) que puede confundir al sed....
No hay excusas, no hay dolor! A darle al coco muchachos que yo no consigo dar con la fómula!!!
Ahora en serio, muchas gracias por vuestro tiempo.
Un saludo,