Pagina 1 van 1

Kleine bbcode edit , link naar kb zonder target, hulp nodig

Geplaatst: 30 jun 2005, 11:30
door flance
Ik ben bezig de BBCode van mijn forum een klein beetje aan te passen. Nu heb ik een Knowledge Base (die mod) en er wanneer er een nieuw artikel is geplaatst komt er automatisch een nieuw bericht in een bepaald forum. Daarvoor (oa) wil ik dit maken.

Ik wil dus als er in de url, van de [url] tag, websiteforum.nl/kb.php voor komt, dat de target="_blank" verwijderd word. Maar ik snap niet wat er aan mijn code fout is.

Code: Selecteer alles

	// We do URLs in several different ways..
	$bbcode_tpl['url1'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
	$bbcode_tpl['url1'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url1']);
  $bbcode_tpl['url1'] = (stristr($bbcode_tpl['url1'],'websiteforum.nl/kb.php') != FALSE) ? str_replace('target="_blank" ','',$bbcode_tpl_['url1']) : $bbcode_tpl['url1'];
// 	print($bbcode_tpl['url1']);
  
	$bbcode_tpl['url2'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
	$bbcode_tpl['url2'] = str_replace('{DESCRIPTION}', '\\1', $bbcode_tpl['url2']);
	$bbcode_tpl['url2'] = (stristr($bbcode_tpl['url2'],'websiteforum.nl/kb.php') != FALSE) ? str_replace('target="_blank" ','',$bbcode_tpl_['url2']) : $bbcode_tpl['url2'];
// 	print($bbcode_tpl['url2']);
	
	$bbcode_tpl['url3'] = str_replace('{URL}', '\\1', $bbcode_tpl['url']);
	$bbcode_tpl['url3'] = str_replace('{DESCRIPTION}', '\\2', $bbcode_tpl['url3']);
	$bbcode_tpl['url3'] = (stristr($bbcode_tpl['url3'],'websiteforum.nl/kb.php') != FALSE) ? str_replace('target="_blank" ','',$bbcode_tpl_['url3']) : $bbcode_tpl['url3'];
//   print($bbcode_tpl['url3']);
	
	$bbcode_tpl['url4'] = str_replace('{URL}', 'http://\\1', $bbcode_tpl['url']);
	$bbcode_tpl['url4'] = str_replace('{DESCRIPTION}', '\\3', $bbcode_tpl['url4']);
	$bbcode_tpl['url4'] = (stristr($bbcode_tpl['url4'],'websiteforum.nl/kb.php') != FALSE) ? str_replace('target="_blank" ','',$bbcode_tpl_['url4']) : $bbcode_tpl['url4'];
// 	print($bbcode_tpl['url4']);
Die printjes waren als test en die hadden allemaal een target.

Iemand een idee wat ik fout doe?

Geplaatst: 30 jun 2005, 11:34
door Paul
Daar wordt de bbcode alleen geladen, je zult in de functie, bbcode_second_pass moeten zijn ;)

Geplaatst: 30 jun 2005, 11:58
door flance
domdomdom,
maar hoe kan ik het nu het beste aanpakken?
preg_replace hernoemen en herschrijven? Want de lus zelf waarin je dus moet controleren zit in die functie..

Geplaatst: 30 jun 2005, 12:02
door Paul
Ik denk, aan het einde van die functie het controleren, en daar herschrijven ofzo.

Geplaatst: 30 jun 2005, 12:09
door flance
Ik snap niet helemaal wat je bedoeld. Over welke functie heb je het nu?

Geplaatst: 30 jun 2005, 12:16
door Paul
bbcode seccond pass, als je daar aan het eind een preg_replace neerzet, die het vervangt, moet het lukken.

Geplaatst: 30 jun 2005, 12:20
door flance
Oke, nu snap ik wat je bedoeld! Een preg_replace over de $text. Ja dat gaat zeker wel lukken, bedankt voor de tip :)

Geplaatst: 30 jun 2005, 12:20
door Paul
Daat bedoel ik indderdaad ja :)