maxweb ha scritto:quindi con questo vuoi dirmi che non potrò mai effettuare questa modifica?
p.s.: il tag [hide] l'ho già inserito all'inizio dell'url che dovrei nascondere
Non ho detto che non si può fare, ho detto che non è quello il modo.
Per poterlo fare bisogna conoscere il "bbcode_uid" di ciascun Post, quindi va fatta una interrogazione per recuperare questo dato e poi puoi fare la modifica dell'url che poteva essere fatta in un colpo solo.
Ad esempio il seguente codice è una query che controlla i posts del Forum indicato nell'url, controlla la presenza del bbcode [url] nel testo ed estrae il bbcode_uid. Con il bbcode_uid puoi usare il comando str_replace().
Codice: Seleziona tutto
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
// Initial var setup
$forum_id = request_var('f', 0);
$user->setup();
$sql = "SELECT post_id, forum_id, post_text, bbcode_uid
FROM " . POSTS_TABLE . "
WHERE post_text like '%[url:%'
AND forum_id = " . $forum_id . "
ORDER BY post_id LIMIT 10";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$text_cor = $row['post_text'];
$bbcode_uid_cor = $row['bbcode_uid'] ;
// aggiunge il tag [hide] prima del tag [url:
$text_new = str_replace("[url:", "[hide][url:", $text_cor) ;
// aggiunge il tag [/hide] dopo il tag /[url:
$text_new = str_replace("[/url:" . $bbcode_uid_cor . "]","[/url:" . $bbcode_uid_cor . "][/hide]", $text_new );
echo $text_cor . "<br />"; // testo originale
echo $text_new . "<br />"; // testo modificato
echo "----------------------------------------------------------------------<br />";
}
?>
Prova a creare un file "prova_url.php" e poi lancia l'url prova_url.php?f=XX (dove XX è il Forum che vuoi controllare.
L'esempio si limita al cotrollo di 10 posts.
ATTENZIONE: l'esempio si limita a visualizzare il testo precedente e quello modificato, non esegue la modifica, ma a questo punto ci sono tutti i dati per poterla fare con UPLOAD