Estoy escribiendo una página PHP que analiza la URL dada. Lo que puedo hacer es encontrar la primera vez que aparece, pero cuando lo echo, obtengo otro valor en lugar del dado.Buscar varias posiciones de cadena en PHP
esto es lo que hice hasta ahora.
<?php
$URL = @"my URL goes here";//get from database
$str = file_get_contents($URL);
$toFind = "string to find";
$pos = strpos(htmlspecialchars($str),$toFind);
echo substr($str,$pos,strlen($toFind)) . "<br />";
$offset = $offset + strlen($toFind);
?>
Sé que se puede utilizar un bucle, pero no conozco la condición ni el cuerpo del bucle.
¿Y cómo puedo mostrar la salida que necesito?
No sé qué es exactamente lo que quiere con este código, pero no me parece claro con qué variable desea trabajar. En este momento, se supone que debes repetir exactamente el contenido de $ toFind, ¿por qué no echo $ toFind cuando se encuentra una coincidencia? ¿O es $ pos de demasiada importancia para ti? Sin embargo, el problema parece provenir de la función htmlspecialchars(), que podría aumentar la longitud y el diseño de la cadena original. Si desea mostrar el texto coincidente, asegúrese de usarlo en la línea substráfica también. –
@Pelle ten Cate: como puede ver, la respuesta que fue enviada por codaddict fue la misma que la suya.Y no solo quiero hacer un eco de $ to Find, porque usaré la posición encontrada para obtener algo de contenido después del que encuentre. – sikas