Bonjour tout le monde,
j'ai un petit problème pour extraire l'id (juste avant "-1.html) de plusieurs url de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 http://www.domaine.com/keyword1-keyword2-keyword3-id-1.html http://www.domaine.com/keyword1-keyword2-id-1.html http://www.domaine.com/keyword1-id-1.html
Pour l'instant j'ai trouvé cette fonction :
Mais comme vous l'avez peut être déjà deveniné, au lieu d'avoir uniquement l'ID, cela me donne ces résultats :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function extract_unit($string, $start, $end) { $pos = stripos($string, $start); $str = substr($string, $pos); $str_two = substr($str, strlen($start)); $second_pos = stripos($str_two, $end); $str_three = substr($str_two, 0, $second_pos); $unit = trim($str_three); // remove whitespaces return $unit; } $text = 'http://www.domaine.com/keyword1-keyword2-keyword3-id-1.html'; $text2 = 'http://www.domaine.com/keyword1-keyword2-id-1.html'; $text3 = 'http://www.domaine.com/keyword1-id-1.html'; $unit1 = extract_unit($text, '-', '-1.html)'); $unit2 = extract_unit($text2, '-', '-1.html)'); $unit3 = extract_unit($text3, '-', '-1.html)');
La seule constante dans l'url est la fin : -1.html , car avant l'ID, il peut y avoir plusieurs tirets. Du coup, je ne vois pas comment extraire cet ID !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $unit1 = keyword2-keyword3-id $unit2 = keyword2-id $unit3 = id ( le seul qui marche puisqu'il n'y a qu'un seul tiret avant l'id)
Est-ce que quelqu'un aurait la gentillesse de m'aider ?
Merci beaucoup !
Partager