str_replace() multiplo con annidamento if, else, elseif
Allora, devo cambiare gli spazi in -, ora volevo sapere se era possibile fare in modo che nella stessa variabile vengano rimpiazzati più caratteri oltre allo spazio, poi che tutti i caratteri speciali come punti esclamativi (!) e interrogativi (?) , slash e bacslash o tutti i caratteri che non restituiscano un 400 vengano eliminati! Praticamente ho creato questa funzione per fare in modo che in ogni topic venga generato un codice in HTML, BBCode e diretto del topic stesso ma queste cose mi impediscono il funzionamento totale della MOD.
Codice PHP:
// START Linkback on viewtopic.php || By J.C. Design ||
$post_subject = ( $postrow[$i]['post_subject'] != '' ) ? $postrow[$i]['post_subject'] : '';
$sostituto = array(1 => ' ');
if ( ($board_config['url_rw'] == '1') || ( ($board_config['url_rw_guests'] == '1') && ($userdata['user_id'] == ANONYMOUS) ) )
{
$linkback = str_replace($sostituto, '-', $topic_title . '-vt' . $topic_id . '.html');
//$linkback = str_replace("!!!", '-', $topic_title . 'vt' . $topic_id . '.html');
$linkback = strtolower($linkback);
}
else
{
$linkback = append_sid(VIEWTOPIC_MG . '?' . $forum_id_append . '&' . $topic_id_append . '');
}
// END Linkback on viewtopic.php || By J.C. Design ||
Un esempio per capire bene di cosa si tratta è questo, cioè, se qui: http://miosito.altervista.org/nome-topic!!!.html verrà restituito un 400: "Bad Request", credo per i "!!!" quindi è per questo che chiedo! Quindi vorrei fare in modo che tutti i caratteri come il ! e il ? o altri che potrebbero generare un errore 400 siano eliminati e se non sbaglio si può fare utilizzando la funzione explode() ma non capisco come la devo utilizzare anche leggendo la guida in php
Grazie mille in anticipo ragazzi :wink: