php - texto - funcion hallar en excel
resalte la palabra en la cadena, si contiene la palabra clave (5)
Aquí por una búsqueda múltiple agregada en una cadena para su referencia
$keyword = ".in#.com#dot.com#1#2#3#4#5#6#7#8#9#one#two#three#four#five#Six#seven#eight#nine#ten#dot.in#dot in#";
$keyword = implode(''|'',explode(''#'',preg_quote($keyword)));
$str = "PHP is dot .com the amazon.in 123455454546 dot in scripting language of choice.";
$str = preg_replace("/($keyword)/i","<b>$0</b>",$str);
echo $str;
¿Cómo se escribe el guión, qué menchión es la palabra completa, si contiene la palabra clave? ejemplo: palabra clave "diversión", cadena - el pájaro es divertido, resultado - el pájaro es * divertido *. hago lo siguiente
$str = "my bird is funny";
$keyword = "fun";
$str = preg_replace("/($keyword)/i","<b>$1</b>",$str);
Pero solo menshions palabra clave. mi pájaro es divertido ny
Busca y resalta la palabra en tu cadena, texto, cuerpo y párrafo:
<?php $body_text=''This is simple code for highligh the word in a given body or text''; //this is the body of your page
$searh_letter = ''this''; //this is the string you want to search for
$result_body = do_Highlight($body_text,$searh_letter); // this is the result with highlight of your search word
echo $result_body; //for displaying the result
function do_Highlight($body_text,$searh_letter){ //function for highlight the word in body of your page or paragraph or string
$length= strlen($body_text); //this is length of your body
$pos = strpos($body_text, $searh_letter); // this will find the first occurance of your search text and give the position so that you can split text and highlight it
$lword = strlen($searh_letter); // this is the length of your search string so that you can add it to $pos and start with rest of your string
$split_search = $pos+$lword;
$string0 = substr($body_text, 0, $pos);
$string1 = substr($body_text,$pos,$lword);
$string2 = substr($body_text,$split_search,$length);
$body = $string0."<font style=''color:#FF0000; background-color:white;''>".$string1." </font> ".$string2;
return $body;
} ?>
Prueba esto:
preg_replace("//w*?$keyword/w*/i", "<b>$0</b>", $str)
/w*?
coincide con cualquier carácter de palabra antes de la palabra clave (como mínimo) y /w*
cualquier carácter de palabra después de la palabra clave.
Y te recomiendo usar preg_quote
para escapar de la palabra clave:
preg_replace("//w*?".preg_quote($keyword)."/w*/i", "<b>$0</b>", $str)
Para la compatibilidad con Unicode, use la bandera u y /p{L}
lugar de /w
:
preg_replace("//p{L}*?".preg_quote($keyword)."/p{L}*/ui", "<b>$0</b>", $str)
Puedes hacer lo siguiente:
$str = preg_replace("//b([a-z]*${keyword}[a-z]*)/b/i","<b>$1</b>",$str);
Ejemplo:
$str = "Its fun to be funny and unfunny";
$keyword = ''fun'';
$str = preg_replace("//b([a-z]*${keyword}[a-z]*)/b/i","<b>$1</b>",$str);
echo "$str"; // prints ''Its <b>fun</b> to be <b>funny</b> and <b>unfunny</b>''
<?php
$str = "my bird is funny";
$keyword = "fun";
$look = explode('' '',$str);
foreach($look as $find){
if(strpos($find, $keyword) !== false) {
if(!isset($highlight)){
$highlight[] = $find;
} else {
if(!in_array($find,$highlight)){
$highlight[] = $find;
}
}
}
}
if(isset($highlight)){
foreach($highlight as $replace){
$str = str_replace($replace,''<b>''.$replace.''</b>'',$str);
}
}
echo $str;
?>