ueberdosis/tiptap-php
PHP utilities for working with Tiptap: parse and validate ProseMirror/Tiptap JSON, render or transform documents, and build extensions-friendly pipelines on the backend. Ideal for Laravel apps needing server-side handling of rich-text editor content.
Rich Text Editor Backend Integration: Enable seamless conversion between Tiptap JSON (frontend) and HTML/PHP arrays (backend) for Laravel applications, reducing frontend-backend serialization complexity.
Content Sanitization & Security: Replace ad-hoc sanitization logic with a standardized, Tiptap-compatible sanitizer to mitigate XSS risks in user-generated content (e.g., forums, CMS).
Search & Indexing: Extract plain text from rich content for full-text search (e.g., Elasticsearch, Algolia) without manual parsing.
Code Block Enhancements:
Add syntax highlighting (via highlight.php or Shiki) to code blocks in documentation or developer portals, improving readability.
Custom Extensions & Theming: Build reusable extensions (e.g., custom nodes/marks) for domain-specific content (e.g., legal disclaimers, product attributes) without reinventing the wheel.
Legacy Migration: Modernize legacy HTML-based editors by incrementally adopting Tiptap’s structured schema, improving maintainability.
Build vs. Buy: Buy: Avoid reinventing ProseMirror/Tiptap serialization logic in PHP. Build: Only if needing niche extensions beyond the package’s scope (e.g., custom schema validation).
Look Elsewhere If:
Adopt If:
*"This package lets us standardize how we handle rich text across our Laravel apps—converting between Tiptap’s structured JSON (used by our frontend) and HTML/PHP arrays (used by our backend). It’s like giving our editors a ‘save as HTML’ button that also sanitizes content and extracts plain text for search. For example, we could use it to:
*"This is a PHP port of Tiptap’s core functionality, letting us:
<script> tags) while preserving Tiptap’s schema.How can I help you explore Laravel packages today?