Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

jak powinien wyglądać plik PHP służący do podmiany zawartości w bbcode zakładając że będzie zwracał zawartość tagu?

czy są jakieś ograniczenia lub specjalne zasady dla tego pliku?

zaczynam się poddawać nawet php nie działa mi tam przewidywalnie fragmenty czystego php działające prawidłowo jako osobne skrypty w tym pliku nagle zwracają zupełnie inne wartości,

nie dam swojego kodu bo już tak go zamieszałem ze jest bezużyteczny :D

jam_artists_button.png

Opublikowano

<?php

require_once( IPS_ROOT_PATH . 'sources/classes/bbcode/custom/defaults.php' );

class bbcode_test extends bbcode_parent_class implements bbcodePlugin
{
/**
 * Constructor
 *
 * @access	public
 * @param	object		Registry object
 * @return	void
 */
public function __construct( ipsRegistry $registry )
{
	$this->currentBbcode	= 'test';

	parent::__construct( $registry );		
}

/**
 * Method that is run before the content is displayed to the user
 * This is the safest method of parsing, as the original submitted text is left in tact.
 *	No markers are necessary if you use parse on display.
 *
 * @access	public
 * @param	string		$txt	BBCode/parsed text from database to be displayed
 * @return	string				Formatted content, ready for display
 */		 
public function preDisplayParse( $txt )
{

	if( $this->_bbcode['bbcode_parse'] == 2 )
	{
		return $this->_replaceText( $txt );
	}
	else
	{
		return $txt;
	}
}	

/**
 * Do the actual replacement
 *
 * @access	protected
 * @param	string		$txt	Parsed text from database to be edited
 * @return	string				BBCode content, ready for editing
 */	 
protected function _replaceText( $txt )
{

       $txt = str_replace( '[test]', '', $txt );
$txt = str_replace( '[/test]', '', $txt );


   	$imdb_id = $txt;

	if ( $imdb_id == "" )
	{
		return;
	}


$adres = "http://www.imdb.com/title/tt".$imdb_id."/";
return $imdb_id.'<br>'. $adres;
}	
}

ten require nie jest chyba wymagany przynajmniej w 3.1.2

tag : [test]1274300[/test]

efekt powinien być następujący : 1274300

http://www.imdb.com/title/tt1274300

a jest :

1274300 http://www.imdb.com/title/tt1274300/

http://www.imdb.com/title/tt1274300 http://www.imdb.com/title/tt1274300//

http://www.imdb.com/title/tt1274300 http://www.imdb.com/title/tt1274300/

http://www.imdb.com/title/tt1274300 http://www.imdb.com/title/tt1274300///

wyświetlane są tak samo jak tutaj jako linki oczywiście

dodatkowo w innych postach dopisuje te adresy do treści (wyłączyłem cachowanie)

przy całym tagu po prostu zastępuje treści innych postów

a i przy okazji co określa ten warunek : $this->_bbcode['bbcode_parse'] == 2 ?

jam_artists_button.png

Opublikowano

To co jest u mnie nie tak?

sprawdzane na 3.1.2 i na 3.0.4 na vertrigo i na dedyku z najnowszymi bebechami

może jakieś ustawienie forum?

na 3.0.4 dodałem taki kod :

<?php


class bbcode_test extends bbcode_parent_class implements bbcodePlugin
{



       public function __construct( ipsRegistry $registry )
       {

              $this->currentBbcode     = 'test';

               parent::__construct( $registry );
       }





               protected function _replaceText( $txt )

       {
            $tekst = 'to jest test';
            $test = str_replace('[test]','',$txt);
            $tag = str_replace('[/test]','',$test);

            $txt = $tag.$tekst;
                         return $txt;

       }

}

?>

wszystko jest ok dopóki nie dodam do wynikowej zmiennej jakiegoś tekstu (tutaj $tekst) wtedy do każdego następnego postu (w którym pisze cokolwiek) dodaje mi zawartość zmiennej $tekst

jakieś pomysły?

jam_artists_button.png

  • 2 tygodnie później...
Opublikowano

w najprostszy możliwy sposób skopiowałem tag img a dokładnie jego funkcję _replaceText inaczej nie chciało działać

co prawda część funkcji nie jest konieczna ale w sumie nie przeszkadza i wydaje mi się ze takie jest założenie aby dopiero w funkcji budowania zamiennika tagu wstawiać własne pomysły.

jam_artists_button.png

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.