Existe-t-il un moyen de rechercher et de supprimer l'URL ou le domaine d'une chaîne donnée avec des parenthèses? Exemple: (comme someurl.com) devrait être (comme) et [comme someurl.com] devenir [comme] ... aussi [comme someurl.com/path/something.html] devrait être [comme] Peut-être que quelqu'un peut m'aider avec un code pour le faire.Suppression de l'URL/du domaine de la chaîne avec des parenthèses
Répondre
Vous avez besoin d'un Regular Expression (REGX) ici
$string_with_url = 'lorem (like GOoogle.COM someurl.com/path/something.html) lipsum';
$string_without_url = preg_replace("/(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-zA-Z0-9]+([\-\.]{1}[a-zA-Z0-9]+)*\.[a-zA-Z]{2,5}(:[0-9]{1,5})?(\/.+[a-zA-Z\/]\s)?/", "", $string_with_url);
echo $string_without_url; // lorem (like) lipsum
Cela fonctionne très bien sur les domaines en minuscules, les majuscules ne sont pas remplacés, ou si un domaine est: someDomain.com remplace seulement omain.com et il deviendra un peu – radu
pas un gros problème, j'ai mis à jour ma réponse – AZinkey
merci beaucoup, c'était la solution. – radu
$str = "(like someurl.com)";
$index_dot = $index_space_before_dot = $index_after_dot = -1;
for($i=0; $i<strlen($str); $i++){
if($str[$i] == '.'){
$index_dot = $i;
}
if($str[$i] == ' ' && $index_dot == -1 && $index_space_before_dot == -1){
$index_space_before_dot = $i;
}elseif ($str[$i] == ' ' && $index_dot > -1){
$index_space_before_dot = $i;
}
}
$str = substr($str, 0, $index_space_before_dot);
echo $str . ')';
regex est ce que vous recherchez – user1506104
Essayez d'utiliser 'preg_replace()'. Je vois votre tag, mais qu'avez-vous essayé? – PHPglue
j'ai réussi à remplacer l'URL/domaine de la chaîne, mais je ne peux pas le faire entre parenthèses ... – radu