Dein Code ist ein Chaos, das ist doch nicht Dein Ernst oder?
Doch. Wenn ich ihn hier ohne Test-Zeilen ausliefere, dann wird das Problem nicht klar. Dies steht wirklich im Programm und zeigt nicht den Inhalt von $row['beschreibung']:
$band_name = '';
$band_start_pos = mb_strpos( $row['beschreibung'], '#' ); // erstes Zeichen #
if ( $band_start_pos !== FALSE ) {
$band_end_pos = mb_strpos( $row['beschreibung'], '#', $band_start_pos +1 ); // zweites Zeichen #
if ( $band_end_pos !== FALSE ) {
$band_name = mb_substr( $row['beschreibung'], $band_start_pos +1, $band_end_pos -$band_start_pos -1 );
$band_search = array( "[a]", "[@]", "[/a]", "'" );
$band_replace = array( "<a href='", "'>", "</a>", "" );
$band_name = str_replace( $band_search, $band_replace, $band_name );
}
}
Außerdem vermute ich auch in der Vorgeschichte/Erhebung Deiner Daten chaotische Verhältnisse, denn
> Shakin�
Logisch. Wenn mir alles klar wäre, müsste ich hier nicht fragen.
Ich habe einen Verdacht. Da das Hochkomma ' in PHP ja auch Feldbegrenzer ist, könnte es in den Tiefen der PHP-Programme umgesetzt worden sein. Hier eine andere Stelle:
$firma = htmlspecialchars($treffer['benennung'],ENT_QUOTES); // ' wird zu ' oder '
Aber egal, wo ich nachschaue (mein erzeugter HTML-Quellcode, phpMyAdmin), in den Daten finde ich immer das Hochkamma. Möglich, dass meine Browser mir das nur vorgaukeln.