PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   Projekthilfe (https://www.php-resource.de/forum/projekthilfe/)
-   -   Wörter einer Div in html mit php verlinken (https://www.php-resource.de/forum/projekthilfe/92377-woerter-einer-div-in-html-mit-php-verlinken.html)

Estrela 07-06-2008 21:20

Wörter einer Div in html mit php modifizieren
 
Hallo.

Tolles Forum hier.

Kann ich mit der Zeit sicherlich einiges über PHP und anderes lernen.

Meine Aufgabenstellung:

Ich habe eine kleine Webseite, auf der viele ausländische Wörter sind.

Nun möchte ich diese Wörter mit Php mit den entsprechenden Übersetzungsdateien verlinken.

Also ich möchte eine Datei anlegen, in der alle zu suchenden Wörter aufgelistet sind mit den Links zu den Übersetzungsdateien nach dem Schema:

Wort1:http//www.Pfad/zur/Übersetzungsdatei.php
Wort2:http//www.Pfad/zur/Übersetzungsdatei2.php
usw.

Diese SuchDatei soll also bei jedem Laden einer Webseite durchsucht werden und alle übereinstimmenden Wörter in einer Div mit dem Text nach dem : verlinken.

Da ich von Php gerade mal den include Befehl etwas kennen gelernt habe und auch keine Programmiersprache kenne, würde ich mich sehr freuen, hier fachmännische Hilfe zur Bewältigung dieser Aufgabe zu finden.

Schönes Wochenende
wünscht
Estrela

TobiaZ 07-06-2008 21:31

Ein herzliches Hallo im Forum!
Hilfe liefern wir dir gerne, aber glaub gar nicht, dass wir die Arbeit für dich machen. :P

Also deine wesentlichen Schritte sollten aussehen wie folgt:

Vorbereitung: Website-Text in Variable speichern.

Zuerst die Datei zeilenweise in ein Array lesen: file
Dann das Array durchlaufen foreach
Dann mittels explode die Zeile in Suchwort und URL trennen
Dann mittels str_replace das Suchwort durch <a href="URL"... ersetzen.

Schluss: Variable (Website-Text) ausgeben echo

Das war doch schon mal ein erfolgreiches erstes Posting in dem du viele neue Funktionen gelernt hast. :jo:

Viel Erfolg beim Testen! Und bei konkreten Problemen einfach wiederkommen und gemäß der Regeln posten. ;)

Blackgreetz 07-06-2008 21:40

Ich würde dir einfach mal noch raten:

Dir nach den Grundlagen von PHP..

http://peterkropff.de
http://tut.php-q.net
http://schattenbaum.net/php/

..dir MySQL anzugucken. (siehe PHP Tutorials)

Da kann man dein Vorhaben viel viel einfacher gestalten..

mfg

Estrela 07-06-2008 22:21

Hallo.
Danke für Eure Antworten.

An Blackgreetz:
Danke für die Links, sieht doch recht interessant aus.
Der Hinweis auf die Datenbank erscheint logisch, würde aber ein weiteres Einarbeitungsfeld bedeuten, weshalb ich erstmal die php Methode vorziehen will.

An TobiaZ:
Danke für die vorzugehende Logik mit den weiterführenden Links.
Super.
Nur wie sage ich es in Php, einen bestimmten Bereich meiner Webseite als Variable anzulegen.
So:
<?php
$DivText = "<div class="textvorst"></div>";
?>
wird es wahrscheinlich nicht richtig sein, alles zwischen
<div class="textvorst">
und
</div>
in der Variablen, die wohl richtig deklariert sein dürfte, zu speichern.

Gruß
Estrela

Blackgreetz 07-06-2008 22:46

Hallo,

so muss das nicht sein.

Die Funktionen von Tobiaz sind zwar Grundlegend für PHP, aber wenn du nur mit MySQl-Arbeitest brauchst du diese nicht.

D.h. du brauchst dir PHP im Großen erstmal nicht anzugucken sondern gleich MySQL...

Wäre also Einarbeiten in ein 2. Themas statt des 1. Themas :)

Natürlich brauchst du zum Auswerten von MySQL noch ein paar befehle, aber die lernt man schnell.

Dann fehlt nur noch http://php.net/while und dann wars das :)

mfg

TobiaZ 07-06-2008 22:53

Zitat:

Die Funktionen von Tobiaz sind zwar Grundlegend für PHP, aber wenn du nur mit MySQl-Arbeitest brauchst du diese nicht.
Du setzt voraus, dass der Text und/oder die Vokabeln in der Datenbank gespeichert ist/sind.

Zitat:

Nur wie sage ich es in Php, einen bestimmten Bereich meiner Webseite als Variable anzulegen.
Naja, das würde ich eigentlich zu den Grunlagen zählen, auf die Backgreez auch schon verlinkt hat.

so:

$text = '<p>das ist ein Test<b>!</b></p>';

Estrela 07-06-2008 23:21

Hallo.

@Blackgreetz
Optimal ist es sicherlich, sich ein beiden Bereichen auszukennen, weil Php wohl gut mit MySQL einzusetzen ist. Aber ich kenne mich leider in beiden Bereichen nicht aus, wie oben schon beschrieben.
Dein gedanklicher Ansatz beruht wahrscheinlich auf dem Gedanken, die oben genannte Suchdatei in einer Datenbank zu speichern und dann daraus die Abfragen mit den anschließenden Ersetzungen vorzunehmen. Ist aus meiner Sicht kein Vorteil, weil die grundsätzlichen Arbeiten, den zu durchsuchenden Text zu definieren und dann darin die Ersetzungen vorzunehmen, auf jeden Fall noch durchzuführen sind.
Der weitere Vorteil aus meiner Sicht an TobiaZ Beitrag ist, das er erstens mit Php zu tuen hat, was ja sowieso von Vorteil ist, wenn man eine Webseite hat, und zweitens einen konkreten Weg aufgezeigt hat, an dem ich mich entlang hangeln kann, um zu einer Lösung zu kommem. Trotzdem Danke.

@ TobiaZ
Dein Beispiel:
$text = '<p>das ist ein Test<b>!</b></p>';
würde also bedeuten, das alles zwischen den Paragraphen in der Variablen text gespeichert wird. Auf meine Situation angewendet, müßte der Code dann so aussehen:
<?php
$text = '<div class="textvorst"><b>!</b></div>';
?>
Ich möchte hier noch darauf hinweisen, das die Ersetzungen auf mehreren Seiten mit unterschiedlichem Text durchgeführt werden sollen.
Wenn das richtig ist, währe der erste Schritt erledigt.

Danke soweit und
Gruß
Estrela

TobiaZ 07-06-2008 23:44

Zitat:

Dein Beispiel würde also bedeuten, das alles zwischen den Paragraphen in der Variablen text gespeichert wird.
NEIN. woher soll PHP wissen, dass nur der Code zwischen den <p>-tags da rein soll?
ALLES innerhalb des Strings ist in der Variable gespeichert. Kannst du mit echo $text ausprobieren.

Zitat:

Auf meine Situation angewendet, müßte der Code dann so aussehen:
<?php
$text = '<div class="textvorst"><b>!</b></div>';
?>
Außer viel HTML-Quelltext speicherst du nur ein Ausrufezeichen, was ziemlich sinnfrei sein dürfte. ;)

Zitat:

Ich möchte hier noch darauf hinweisen, das die Ersetzungen auf mehreren Seiten mit unterschiedlichem Text durchgeführt werden sollen.
Willkommen in der Welt der dynamischen Webseiten. Eigentlich brauchst du nur noch eine Datei, die den Inhalt aller Seiten darstellen kann. ;)

Aber bis dahin feilen wir noch etwas an den Grundlagen. Ohne die endet das hier sonst noch in sturem Code-Vorkauen... ;)

Estrela 07-06-2008 23:51

Hallo TobiaZ.

Dann sag mir doch bitte noch, mit welcher Funktion ich mich beschäftigen muß, um den Bereich zwischen "<div class="textvorst"> und </div> im body-Bereich von verschiedenen Seiten einer Variablen zuzuordnen.
Mein abschließender Hinweis des vorigen Postings habe ich gemacht, weil ich schon ahnte, das es so nicht funktioniert.

Gruß
Estrela

TobiaZ 07-06-2008 23:55

also, ein bisschen musst du schon an deiner vorhandenen Seite ändern. Dazu gehört, dass du den Text in die Variable speicherst. So wie ich es dir gezeigt habe, geht es erstmal am einfachsten.

Später sollte man dazu übergehen, den Text extern (txt-Datei oder Datenbank) zu speichern. Aber erstmal machst du es so, wie hier besprochen.

Abraxax 08-06-2008 00:07

@Estrela
es macht sinn, wenn du dich erst einmal mit grundlagen vertraut machst .... entsprechende links hast du bereits erhalten. ohne grundlagen läuft nichts.

dein vorhaben ist im übrigen nicht unbedingt für blutige anfänger geeignet. daher nochmals der hinweis ... erst grundlagen lernen ... dann erfahrung sammeln ... und erst dann die umsetzung o.g. vorhabens angehen.

das ganze kostet zwar im ersten moment für dich viel zeit ... aber so ist das nunmal. laufen kann ein mensch auch nicht am ersten tag.

Estrela 08-06-2008 00:08

Hallo TobiaZ

Da habe ich aber eine gute Nachricht. Alle Texte sind includiert, soll heißen, sie liegen als einzelne Dateien vor.
Sie werden so eingebunden:
<div class="textvorst">
<?php include 'php/00-1-INSTRUCAO.php'; ?></div>
Wobei der Name natürlich von Seite zu Seite unterschiedlich ist.

Und wie kann ich diesen Inhalt der includierten Datei nun einer Variablen zuordnen?

Gruß
Estrela

Abraxax 08-06-2008 00:09

Zitat:

Original geschrieben von Estrela
Und wie kann ich diesen Inhalt der includierten Datei nun einer Variablen zuordnen?
lies dir bitte meinen letzten post durch.

--
file() && implode() || file_get_contents() können helfen ... aber grundlagen brauchst du auch dafür! :teach:

TobiaZ 08-06-2008 00:15

Zitat:

Original geschrieben von Estrela
Und wie kann ich diesen Inhalt der includierten Datei nun einer Variablen zuordnen?
$text = file_get_contents(...);

Estrela 08-06-2008 00:28

Hallo Abraxax.

Ja sicherlich hast Du recht, das Grundlagen überall hilfreich sind. Aber eigentlich will ich ja kein Php-Profi werden, sondern meine Aufgabenstellung umsetzen.
Und da lerne ich am besten, wenn ich eine Aufgabe erledigen will und dabei möglichst kompetente Ansprechpartner habe, die mich dann auch ein wenig anleiten können.

Von der Logik her währe es doch am besten, vor dem includieren der Texte den Austausch vorzunehmen. Eigentlich brauchte dieser Prozess auch nicht immer live durchgeführt werden, sondern brauchte eigentlich nur einmal durch Verändern der zu includierenden Dateien durchgeführt werden.
Währe das dann einfacher durchzuführen?

Gruß
Estrela


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:06 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG