Skip to content

isantolin/php-rss2wml_rss2hdml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP RSS to WML/HDML Converter

PHP Version License

Legacy mobile content generator for retro mobile devices and browsers

Nokia 7110 running WML

📖 Overview

PHP scripts to convert RSS feeds into mobile-friendly formats:

  • WML (Wireless Markup Language) for WAP 1.x devices
  • HDML (Handheld Device Markup Language) for pre-WAP browsers

Modernized version of original 2003 codebase (RSSmanip) with:

  • Security hardening
  • PHP 7.4+ compatibility
  • Enhanced error handling
  • Multi-encoding support

✨ Features

  • Feed Processing

    • RSS 2.0 full spec support
    • Auto-encoding detection (UTF-8/ISO-8859-1)
    • Content length optimization
    • HTTP compression handling
  • Security

    • XML injection protection
    • SSL verification
    • Input sanitization
    • Error suppression
  • Mobile Optimization

    • WML 1.1 compliant output
    • HDML 3.0 support
    • Device memory constraints awareness
    • Accesskey navigation

🛠 Requirements

Server Environment

Component Requirement
PHP Version 7.4 or newer
Extensions cURL, libxml, SimpleXML
Memory Limit ≥128MB
MIME Types text/vnd.wap.wml
text/x-hdml

Recommended Testing Tools

graph LR
  A[Local Dev] --> B[WinWAP Emulator]
  A --> C[Nokia Mobile Simulator]
  A --> D[Openwave SDK]
  E[Production] --> F[Real Device Testing]
Loading

🚀 Installation

Clone repository:

  git clone https://github.com/yourusername/php-rss2wml_rss2hdml.git
  cd php-rss2wml_rss2hdml

Configure feed settings:

  // config.php
  $url = 'https://example.com/feed.rss';  // RSS source
  $max_elements = 12;                     // Optimal for 4KB limit
  $encoding = 'ISO-8859-1';               // Match feed encoding

Configure web server (Apache example):

<IfModule mod_mime.c>
  AddType text/vnd.wap.wml .wml
  AddType text/x-hdml .hdml
</IfModule>

DirectoryIndex index.php

Technical Considerations

Legacy Browser Limitations

Issue Impact Solution
30x Redirects Broken links Use direct file paths
Memory Limits Truncated content Keep output <4KB
Encoding Mismatch Garbled text Test multiple encodings
Caching Issues Stale content Add Cache-Control: no-store

Optimization Tips

flowchart TD
  A[Start] --> B{Feed Size}
  B -->|>4KB| C[Reduce max_elements]
  B -->|OK| D[Check Encoding]
  D --> E[Validate RSS Structure]
  E --> F[Test Multiple Devices]
Loading

About

Two codesamples about my very first mobile development

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages