Hallo Typo3'ler,
ich baue gerade für eine SOAP-Schnittstelle eine Volltextsuche mit XML Ausgabe. Dafür benutze ich die MySQL-Struktur und MySQL-Daten der IndexedSearch Extension.
Die Beziehungen zwischen den Tabellen der IndexedSearch Extension habe ich soweit "entdeckt", nur benötige ich jetzt einen Tipp wie ich die Werte aus index_phash.cHashParams entschlüsseln bzw. eine URL daraus stricken kann.
Wäre für jeden Tipp dankbar!
Na, hat noch keiner den passenden RegEx? Oder eine andere Möglichkeit den in der DB gespeicherten String zu zerlegen und zu einer URL zu formulieren?
Beispiel eines cHashParams Eintrags
a:2:{s:18:"tx_ttnews[pointer]";s:1:"5";s:5:"cHash";s:10:"5f3b9bc7fe";}
oder
a:3:{s:18:"tx_ttnews[backPid]";s:1:"1";s:18:"tx_ttnews[tt_news]";s:3:"849";s:5:"cHash";s:10:"de2b05f2a9";}
Jeder, der mir einen brauchbaren Tipp gibt wird eine Woche in meine Morgengebete eingeschlossen! *versprochen*
Ich hab mich mal versucht ....
$cHash = 'a:3:{s:18:"tx_ttnews[backPid]";s:1:"1";s:18:"tx_ttnews[tt_news]";s:3:"381";s:5:"cHash";s:10:"b8db673ae3";}';
$cHash_path = '';
if( preg_match ('/{(.*)}/', $cHash, $result_string)) {
$result_array = explode (';',$result_string[1]);
for ($i=0; $i<=count ($result_array); $i++) {
preg_match ('/"(.*)"/',$result_array[$i],$result_array2);
if(!empty ($result_array2[1])) {
if ( $i%2==0) {
$cHash_path .= '&';
}else{
$cHash_path .= '=';
}
$cHash_path .= $result_array2[1];
}
}
}
echo $cHash_path;
... ist sicher nicht die sauberste und beste Lösung aber funktioniert erstmal.