$matches3[1] in precedenza fu stringa, mentre adesso è array, quando uso implode lo trasformo in stringa.
Giustamente urlencode si aspetta una stringa (non un array, avevo sbagliato).
Printable View
$matches3[1] in precedenza fu stringa, mentre adesso è array, quando uso implode lo trasformo in stringa.
Giustamente urlencode si aspetta una stringa (non un array, avevo sbagliato).
interessante, la funzione implode (che non avevo mai usato prima) trasforma in stringa un array :top:
mi servira' in futuro questa informazione :wink:
Grazie ancora darbula
Figurati, perdonami ma ti ricordo che implicitamente usi implode join è un suo alias (codice php vecchio stile).
si puo' aggirare questo? :roll:
nell'esempio e' presente Test, Test2, test, test2,
il codice non li considera come duplicati
https://www.upload.ee/image/13387735/sshot-2.png
possibile soluzione:
trasformarli da maiuscolo in minuscolo, in questo modo il code array_unique dovrebbe funzionare :confused:
penso di aver risolto con la funzione strtolower :mrgreen:
https://www.php.net/manual/en/function.strtolower.php
https://www.upload.ee/image/13388010/sshot-3.png
codice completoCodice PHP:
$data3 = explode(',', strtolower ($data));
Codice PHP:
$haystack3 = $row->websites;
preg_match_all('#^.*<span class=\'descr\'>(.*?)</span>.*$#m', $haystack3, $matches3);
$data = implode(',', str_replace(array(', ', ' '), ',', $matches3[1]));
$data3 = explode(',', strtolower ($data));
$data3 = array_filter(array_unique(array_map('trim', $data3)));
natsort($data3);
echo '<b>' . join(', ' , $data3 ) . '</b>';
echo "<br>\n";
echo '<font color="blue">' . '<b>' . count( $data3 ) . '</b>' . '</font>' . " tags were found." . '<br>';
Bravo finalmente sei sul verso giusto. Il codice alla fine è un ripetersi di testo e funzioni o oggetti. (Poi discorso diverso se imposti valori php diversi dal loro default). Difficilmente se imposti il tuo ambiente php in russo, o con ideogrammi cinesi etc. ti da l'esito sperato