Hauptmenü

Werkzeuge

Kategorien

Archiv

Problem nach Update auf PHP4.5 mit htmlspecialchars und htmlentities

Erstellt in PHP am 18. Februar 2014 vom Daschmi

Wenn man ein „ISO Projekt“ nach PHP 5.4 aktualisiert und dort die ISO Daten mit htmlspecialchars ausgibt, wird nur ein leerer String zurückgegeben. Abhilfe schafft die Verwendung einer hspc Funktion anstelle von htmlspecialchars und htmlentities:

function hspc($value)
{ 

  return htmlspecialchars($value, ENT_COMPAT | ENT_HTML401, ‚ISO-8859-1‘);

}

Römische Zahl aus einer arabischen Zahl ermitteln

Erstellt in PHP am 14. Juli 2013 vom Daschmi

Wer eine römische Zahl ausgeben möchte, kann diese mit folgender Funktion ermitteln:

/**
 * Gibt die römische Zahl einer arabischen Zahl zurück
 */
function getRoemischeZahl($arabische_zahl)
{

  	$ar_number = array(1000, 900, 500, 400,100, 90,  50, 40,  10,   9,  5,   4,  1);
   	$ar_char = array(‚M‘, ‚CM‘, ‚D‘, ‚CD‘, ‚C‘, ‚XC‘, ‚L‘, ‚XL‘, ‚X‘, ‚IX‘, ‚V‘, ‚IV‘, ‚I‘);
   	$roemische_zahl = “;

   	for ($count = 0; $count < count($ar_number); $count++)
   	{

	      	while ($arabische_zahl >= $ar_number[$count]) {

	         	$roemische_zahl .= $ar_char[$count];
	         	$arabische_zahl -= $ar_number[$count];

	      	}

	}

	return $roemische_zahl;

} // function getRoemischeZahl($arabische_zahl)

Die Anwendung erfolgt dann einfach mittels:

echo getRoemischeZahl(100); 

Mehrere Autoload Funktionen in einem Projekt

Erstellt in PHP am 17. Februar 2013 vom Daschmi

Wenn man zum Beispiel ein WordPress Plugin programmiert und möchte eine Funktion zum automatischen Laden von Klassen verwenden so funktioniert das nur solange bis ein anderes Plugin ebenfalls eine __autoload Funktion implementiert.

Umgehen kann man das, in dem man seine Autoloadfunktion einen eindeutigen Namen gibt, oder den Namespace des Plugins verwendet.

  function wpsg_autoload() // statt __autoload()
  {
    ..
  }

Diese Funktion muss nun noch als Autload Funktion registriert werden, dies geschieht mittels:

spl_autoload_register(‚wpsg_autoload‘);

Für das ganze muss die SPS Unterstützung im PHP aktiv sein. Ab PHP 5.3 ist sie standardmäßig aktiv.

Erstes und letztes Element eines Arrays ohne die Elemente zu entfernen

Erstellt in PHP am 18. Januar 2013 vom Daschmi

Möchte man das erste Element eines Arrays ermitteln, so kann man die Funktion array_shift verwenden. Für das letzte Element gibt es die Funktion array_pop.

Beide Funktionen liefern dasElement und entfernen es aus dem Uhrsprungsarray. Man kann den Array vorher kopieren oder man verwendet folgenden Aufruf:

$first = array_values($array)[0]; // Statt array_shift
$last = array_values($array)[sizeof(array) – 1]; // Statt array_pop

Man könnte auch einfach $array[0] bzw. $array[sizeof($array) – 1] verwenden, dies würde aber nicht bei Assoziativen Arrays funktionieren.