![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
cześć:)
Chciałbym zrobić automatycznie generowany kod, który wyświetliłby pokolorowane za pomocą funkcji highlight_string ciągi znaków w nowej lini i pokazywał numer lini, czyli coś takiego jak jest tutaj (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) example: Jak widać po lewej stronie są numery lini 1,2 itd. I jak coś takiego zrobić? Drugie pytanie wiąże się z pierwszym. Mam div o jakimś id zdefiniowanym w style.css. Jakiej funkcji css użyć, aby w przypadku, gdy zabraknie miejsca w lini, tekst był automatycznie przenoszony do następnej lini (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) PS. próbowałem display:block; ale nie pomaga... Ten post edytował Strarus 3.01.2009, 12:37:10 |
|
|
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
co to pierwszego to: http://www.google.pl/search?q=bbcode+php&a...lient=firefox-a
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
co do kolorowania składni, to jest to kupa roboty jeśli się chce samemu. jednak numerowanie linii da się łatwo uzyskać. wiemy, że każda linia pliku tekstowego, to kolejny element tablicy (uzyskanej za pomocą funkcji file). czyli wyświetlasz oprócz wartości elementu tablicy także jego numer. obsługę file znajdziesz w manualu, foreach także. są przykłady dobre.
swoją drogą zapoznaj się z projektem "codepress", jest chyba na licencji cc więc można stosować. tam jednak numerowanie linii uzyskali w css: po prostu dali obrazek z liczbami, bardzo wysoki, ma z 2000 liczb. ten obrazek wrzucają jako tło dla textarea w którym jest kod. odnośnie drugiego problemu: wystarczy zdefiniować szerokość elementu. Od razu piszę: jeżeli wystąpi przypadek, że jeden wyraz będzie szerszy od szerokości Twojego czegoś (np div'a), to niema rady na to, żeby się załamał o następnej linii. trzeba wtedy kombinować z javascript. css'em może jedynie ucinać taki wyraz (często są to linki) za pomocą overflow-x: hidden |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Dzięki, nie będzie problemu z długością, bo to tylko dla mojego użytku. Ale overflow-x: hidden chyba ukrywa resztę? Zastosuję chyba to z tym obrazkiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
no dosłownie zasłania tekst który się nie zmieści, może się zdarzyć, że nawet w połowie literki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
wrzucaj tekst do elementu blokowego o zdefiniowanej szerokości i się sam tekst będzie zawijał do nowej linii. Cytat Zastosuję chyba to z tym obrazkiem wg mnie jednak lepiej to z numerowaniem normalnym, ale to już kwestia gustu. Ten post edytował hiszpanespaniol 3.01.2009, 13:04:15 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Na razie pozostanę przy obrazku, bo ładnie wygląda (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)
Kod CSS: Kod #kolor { background-image: url(back.jpg); font-family: verdana; font-size: 14px; color: navy; border: 1px navy solid; width: 700px; display: block; overflow-x: hidden; } Kod php mi wystaje i to właśnie przecięty w połowie litery (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) Myślałem nad funkcją php wordwrap ale ona się chyba nie sprawdzi... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
skasuj to hidden skoro masz zwykłe słowa krótkie i zdefiniowaną szerokość. jeszcze może dodaj background-repeat: repeat-x żeby nie było niespodzianek
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
chyba repeat-y (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale co z tą nową linią (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) teraz wystają mi słowa poza div...
edit: a jeszcze pytanie: jest może coś takiego w php, że "po n znaków daj <br/>" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Ten post edytował Strarus 3.01.2009, 13:21:25 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
racja, y.
czysty tekst wewnątrz elementu blokowego o zdefiniowanej szerokości nie może wystawać (pomijając zbyt długie wyrazy). musisz mieć jakieś style co mieszają. Albo nie masz czystego tekstu tylko jakieś dodatkowe HTML wewnątrz tego div. Jak to u Ciebie wygląda? css podałeś, możesz wynikowy HTML też podać? edit: Cytat a jeszcze pytanie: jest na to wiele sposobów, ale nie jest to dobre rozwiązanie jeśli tylko chcesz zawinąć tekst Ten post edytował hiszpanespaniol 3.01.2009, 13:22:37 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Wszystko jest tutaj:
http://strarus.cba.pl/index.php?site=other (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
A nie lepiej do numerowania linii zastosować listę <ol>? Wtedy podczas zaznaczania kodu numerki się nie skopiują (co w przykładzie ~hiszpanespaniol będzie miało miesjce).
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Może i tak, ale wtedy trzeba dodawać ręcznie przy każdej linijce <li/>...
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
@phpion masz absolutną rację. najzwyklejsza lista numerowana.
@Strarus pod podanym linkiem nic nie ma, 404. powiedzmy, że masz kod zapisany w pliku tekstowym, to wtedy robisz tak:
edit: Cytat dlaczego w $kolorowo .= </ol>; po kolorowo jest . to jest po to, żeby dopisywać rzeczy na końcu zmiennej, ale żeby tej zmiennej nie nadpisywać. Ten post edytował hiszpanespaniol 3.01.2009, 13:46:13 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Ok, dzięki będzie wygodniej, bo będę umieszczał skrypty w plikach txt (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jak 404?? Mi się otwiera (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
jeszcze jedno pytanie: dlaczego w $kolorowo .= </ol>; po kolorowo jest . (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) i jeszcze jedno (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) jak zrobić, żeby pokazywały się te liczby po lewej? a kod na środku? Ten post edytował Strarus 3.01.2009, 13:39:27 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
nic nie musisz robić. lista numerowana sama wyświetla sobie numerki, bez żadnych css'ów. cssem możesz dopieścić wygląd takiej listy, ewntualnie skoro pytasz jak zrobić wyświetlanie liczb, to możliwe, że masz gdzieś list-style ustawione na none dla listy.
do czego służy ".=" napisałem w poprzednim poście. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Dzięki wielkie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
edit: mam teraz problem z zakolorowaniem składni... Jak mam ten kod:
To gdzie mam dać highlight_string (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Bo chcę to wyświetlać tak jak to jest na tym forum (tylko, że tutaj są table), a u mnie może być na tym co jest teraz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Strarus 3.01.2009, 15:19:38 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 03:09 |