Llamando a str_contains o cualquier función de PHP en XSLT para concordar una cadena con un patrón.
Estoy intentando utilizar una función de PHP para ver si un comentario en XSLT contiene “Written by”.
No he tenido suerte con str_contains:
Mi entendimiento es que la función va: (Función de PHP, Patrón a Buscar, Variable) pero no está funcionando (la condición no es verdadera cuando se encuentra la información).
Me pregunto:
1) ¿Es un problema de versión? str_contains debe ser para PHP 8, pero tal vez el servidor es 7. No estoy seguro.
2) ¿Es un problema de sintaxis?
3) Si es un problema de versión, ¿qué función diferente hay para ver si un comentario comienza con o contiene ese patrón a buscar?
davy.ai
Solución para la función PHP que comprueba si un comentario en XSLT contiene “Escrito por”
Si tiene problemas al utilizar la función
str_contains
de PHP para comprobar si un comentario en XSLT contiene “Escrito por”, puede haber varias razones por las que no funciona. Aquí le presentamos algunas soluciones para este problema.Problema de Versión
En primer lugar, podría tratarse de un problema de versión, ya que
str_contains
se introdujo en PHP 8.0, y si su servidor ejecuta PHP 7, la función no funcionará. En este caso, puede intentar utilizar la funciónstrpos
, que está disponible en versiones anteriores de PHP. Aquí tiene un ejemplo de cómo puede utilizarstrpos
en su XSLT:Problema de Sintaxis
En segundo lugar, podría haber un problema de sintaxis en su código. Asegúrese de que está pasando los parámetros en el orden correcto y de que está utilizando la sintaxis correcta para la función
php:functionString
. Aquí tiene un ejemplo de la sintaxis correcta:Función Alternativa
Si ninguna de las soluciones anteriores funciona, puede intentar utilizar una función alternativa para comprobar si un comentario comienza o contiene “Escrito por”. Por ejemplo, puede utilizar la función
preg_match
, que utiliza expresiones regulares para buscar un patrón en una cadena. Aquí tiene un ejemplo de cómo puede utilizarpreg_match
en su XSLT:En este ejemplo, la expresión regular
/Escrito por/i
buscará el patrón “Escrito por” (sin distinción entre mayúsculas y minúsculas) en la variablecomment
. Si el patrón se encuentra, la condición será verdadera y se mostrará el comentario.