contact
7.01.2004, 12:17:31
Witam,
Zastanawiam sie czy macie jakies sprawdzone pomysly na generowanie skroconych nazw. Mianowicie, zalozmy ze wpisuje sobie w polu tekstowym nazwe firmy, np.: Zaklad Produkcyjno Handlowo Uslugowy "Skowronek", i skrypt php generuje mi skrocona nazwe, powiedzmy ZPHU SKOWRONEK. Oczywiscie skrot nie musi wygladac tak jak napisalem (ale nie ukrywam, ze taka opcja bylaby najlepsza

), ale aby otrzymany skrot mial jakis sens. Chodzi mi o realny pomysly.
Pozdrawiam.
zalew
7.01.2004, 12:36:20
na szybko:
[php:1:a5f1e0e831]<?php
$wynik = explode (" ", $nazwa);
for ($i=0; $i < count($wynik); $i++) {
echo substr($wynik[$i], 0, 1);
}
?>[/php:1:a5f1e0e831]
zrobic by inteligentnie wiedzial, ktory czlon ma zostawic to chyba nieoplacalna robota :) zoabcz np.
PZMot, CWKS Legia Warszawa, DT Centrum
raczej nie da sie 'uniwetrsalnej' reguly zrobic, chyba ze jakas SI ;)
jak jest staly schemat to wtedy ulozyc regule na to nie bedzie problemem...
contact
7.01.2004, 12:47:22
No wlasnie tak jakos masz racje. Cyba, ze nazwa, ktora ma zostac pisac, np. w apostrofach ...
kicaj
7.01.2004, 15:56:28
chyba ze wyciagac pierwsze litery z nazwy np.: Zakład Produkcyjno Usługowy, wynik: ZPU, ale to cakowicie amatorka i w polowie przypadkow sie nie sprawdzi...
Moze cos takiego bedzie dobre:
[php:1:e0dd136e9a]<?php
print Short('Narowody Fundusz Zdrowia "Dupa"'); // Przyklad
/**
* Wynik:
* NFZ Dupa
*/
/**
* Funkcja tworzaca skrot z wielkich liter nazwy
*
* @param $text nazwa
* @return skrot nazwy lub pusty string jezeli tekst nei posiadal wielkich liter
*/
function Short( $text )
{
$match = array();
$short = '';
if ( preg_match_all( '/([A-Z]+)/' , preg_replace( '/"(.*?)"/', '', $text, $test ), $match ) )
{
$short = implode( '', $match[0] );
}
if ( preg_match( '/"(.*?)"/', $text, $match ) )
{
$short .= " ".array_pop( $match );
}
return $short;
}
?>[/php:1:e0dd136e9a]
przyczym jezeli ktos poda: Nazwa Nazwa Nazwa "Inna Nazwa" Nazwa to skrot wyjdzie:
NNNN Inna Nazwa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.